Professional Documents
Culture Documents
1.
DBA
DBA
DBA
DBA
IT
IT
1
Oracle ORACLE
ORACLE DBA ORACLE
56
ORACLE
ORACLE
ORACLE
DBA
ORACLE ORACLE
DBA
DBA
DBA ORACLE
ORACLE
ORACLE CONCEPTS
1
DBA Oracle
Oracle DBA
Oracle Oracle
Oracle
DBA
Oracle DBA Oracle
Oracle
Oracle
Oracle DBA
Oracle
Oracle Oracle DBA
DBA Oracle Oracle
DBA DBA
Oracle
Oracle
Oracle Oracle
Oracle
Oracle DBA 10
JAVA 10
C 500
JAVA
JAVA
Thinking in JAVA JAVA
JAVA
JAVA JAVA
Thinking in JAVA
JAVA
Oracle
Oracle 10 20 DBA
Oracle
DBA
DBA
Oracle Internal Only
checkpoint
DBA Oracle
DBA
metalink
DBA DBA
DBA DBA
DBA DBA
Oracle
DBA
DBA Oracle
DBA
DBA
Metalink DBA
google
google
DBA qq
msn
DBA DBA
DBA
2000 Oracle
2000 DBA
Oracle
Oracle
Oracle
Oracle 3 2002
Oracle
Oracle Concepts
3 Oracle
DBA
DBA DBA
Oracle Oracle
Oracle
Oracle
DBA Oracle
Oracle DBA
Oracle Oracle
Oracle DBA
Oracle
Oracle
Oracle
Oracle Oracle
Oracle
Oracle
Oracle
Oracle DBA Oracle
Oracle
oracle DBA
Oracle oracle
BLOCKBLOCK Oracle
oracle BLOCK 2K-32K Oracle
Oracle Oracle IO Oracle
Oracle Oracle 8i
Oracle 9i
DB_BLOCK_SIZE
EXTENT SEGMENT,
EXTENT SEGMENT SEGMENT
SEGMENT
1
SEGMENT
Oracle "Segment"
SEGMENT
l
l
OVERFLOW
LOB LOB
l
N
l
CLUSTER()
SEGMENT
Oracle
EXTENT EXTENT BLOCK
BLOCK BLOCK
Oracle EXTENT
MAXEXTENTS MAXEXTENTS
255, MAXEXTENTS
ORA-01631: Max # Extents (%s)
Reached in TABLE %s.%s MAXEXTENTS
SEGMENT
BLOCK BLOCK
BLOCK 3
BLOCK
EXTENT
Oracle
VARCHAR VARCHAR
VARCHAR
BLOCK VARCHAR
1
UPDATE 200
BLOCK
BLOCK 200
BLOCK Oracle
EXTENT EXTENT
EXTENT
1024
EXTENT
EXTENT
EXTENT
DBA
EXTENT
PCTFREE
PCTFREE
PCTFREE
INITRANS
24
Oracle
PCTFREE
initrans
SQL
ITL initrans
Oracle 9i
3
create table test1 ( a integer,b varchar2(100),c varchar2(100));
insert into test1 values (1,null,'aaaa');
EXTENT_ID
FILE_ID
BLOCK_ID
---------- ---------- ---------0
10
497
10
SQL>select file_name from dba_data_files where file_id=10;
FILE_NAME
-------------------------------------------------------------------------------/opt/oracle/oradata/orcl/users02.dbf
dd 499 dump
dd if=/opt/oracle/oradata/orcl/users02.dbf of=a.dmp bs=8192 skip=501 count=1
501
2c 01 03 02 c1 02 FF 04 61 61 61 61
1,null,aaaa2c 01 1
ITL ,03 3 02 C1 02
02 C1 02
10 1 FF 04 61 61 61 61
aaaa 3 00001fd0h
2C 01 02
2 INSERT
null NULL
Oracle NULL
UPDATE TEST1 SET B=ABC WHERE
A=1
FF
VARCHAR
UPDATE
10% PCTFREE PCTFREE 10%
TRUNCATE
drop sequence seqt;
create sequence seqt;
alter table test1 pctfree 10;
truncate table test1;
begin
for i in 1..1000 loop
insert into test1 values (seqt.nextval,'abc',null);
end loop;
end;
/
commit;
Statistics
---------------------------------------------------------1 recursive calls
0 db block gets
8 consistent gets
0 physical reads
0 redo size
459 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
8 CR GET
UPDATE
update test1 set c='123456789012345678901234567890abcdefghg';
commit;
20 02 00 02 80 01 f7 00
04 RDBA=0x028001f7
0x04
0x028001f7 SELECT
Execution Plan
---------------------------------------------------------Plan hash value: 4122059633
--------------------------------------------------------------------------| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------| 0 | SELECT STATEMENT |
|
2 | 12 |
2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| TEST1 | 2 | 12 |
2 (0)| 00:00:01 |
--------------------------------------------------------------------------Predicate Information (identified by operation id):
--------------------------------------------------1 - filter("A"=1)
Statistics
---------------------------------------------------------0 recursive calls
0 db block gets
17 consistent gets
0 physical reads
0 redo size
459 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
8 CR GET 17 CR GET
PCTFREE
UPDATE
PCTFREE
PCTFREE 5
PCTFREE
B LOCK_SIZE
PCTFREE
PCTFREE
ALTER TABLE ... MOVE EXP/IMP
Oracle
DBA pctusedfreelistsfreelist groups
ASSM 9i
MSSM
Oracle FREELIST
PCTFREEPCTUSED
FREELISTSFREELIST GROUPS
FREELIST FREELIST
PCTFREE
FREELIST
PCTUSED
FREELIST
FREELIST
PCTUSED Oracle
PCTUSED
FREELIST FREELIST
FREELIST
MSSM PCTFREE PCTUSED
PCTFREE 30 PCTUSED 65
23
FREELIST FREELIST
MSSM PCTUSED
PCTUSED FREELIST PCTUSED
PCTUSED
FREELISTSFREELISTS FREELISTS
perment data segmenttemporary data segmentindex segmentrollback
segment FREELISTS
l
MASTER FREELISTS
l
PROCESS FREELISTS
l
TRANSACTION FREELISTS
MASTER FREELISTS FREELISTS
MASTER FREELISTS
MASTER FREELISTS
FREELISTS
FREELISTS
FREELISTS
ORACLE Oracle FreelistsProcess Freelists
Process Freelists Master Freelists Process Freelists
Master Freelists
Process Freelists Process Freelists
Process FreeLists
Master Freelists Process Freelists
Process Freelists Oracle
Process Freelists Freelists
Oracle Freelists 1 Freelists 1
Master Freelists Process Freelists
MSSM Freelists
Oracle 8i
MSSM 8
FREELISTS 8 FREELISTS 1 5.7%
Freelists
1-5%
Freelists
Freelists PCTUSED
Freelists
Freelists Oracle
Transaction Freelists 16
Transaction Freelists Transaction
Freelists Transaction Freelists
Transaction Freelists Segment
Header
Transaction Freelists Segment Header
MSSM Segment Header
Transaction Freelists
pctused Transaction
Freelists
Transaction Freelists
Transaction Freelists
Master Freelists
Oracle Freelists
Freelists
MSSM Freelists Groups
OPS/RAC
RAC RAC
MSSM Freelists CACHE
FUSION RAC
GLOBAL CACHE
INSTANCE 1 BLOCK 10
INSTANCE 2 BLOCK 10
INSTANCE 1 BLOCK 10
GLOBAL BUFFER BUSY RAC
RAC
Freelist Groups Oracle
segment header Freelist Groups 1
Freelist Segment Header Freelist Groups
Freelists Freelists Block
Freelists
OLTP
OLAP
OLAP
10g
11G oracle 9i
DBA MSSM
8i 9i
10g 8i MSSM
BUG 9i ASSM object
reuse ORA-600 [kcbget_xxx]ORA-600 [kcbnew_xxx] BUG
MSSM ASSM BITMAP
MSSM ASSM BITMAP
Freelists
MSSM
MSSM
3 18 2PCTFREE
Oracle 9i
Oracle VARCAHR
Oracle
3
create table test1 ( a integer,b varchar2(100),c varchar2(100));
insert into test1 values (1,null,'aaaa');
insert into test1 values (2,null,'bbbb');
insert into test1 values (1,'11111',null);
commit;
EXTENT
SQL> select extent_id,file_id,block_id from dba_extents where segment
_name='TEST1' AND OWNER='SCOTT';
EXTENT_ID
FILE_ID BLOCK_ID
---------- ---------- ---------0
10
497
10
SQL>select file_name from dba_data_files where file_id=10;
FILE_NAME
------------------------------------------------------------------------------/opt/oracle/oradata/orcl/users02.dbf
dd 499 dump
dd if=/opt/oracle/oradata/orcl/users02.dbf of=a.dmp bs=8192 skip
=501 count=1
501
2c 01 03 02 c1 02 FF 04 61 61 61 61 1,
null,aaaa2c 01 1
ITL ,03 3 02 C1 02
02 C1 02 1
0 1 FF 04 61 61 61 61
aaaa 3 00001fd0h
2C 01 02
2 INSERT
null NULL Or
acle NULL
UPDATE TEST1 SET B=ABC WHERE A
=1
FF
VARCHAR
UPDATE
10% PCTFREE PCTFREE 10% TRUNCATE
Statistics
---------------------------------------------------------1 recursive calls
0 db block gets
8 consistent gets
0 physical reads
0 redo size
459 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
8 CR GET
UPDATE
update test1 set c='123456789012345678901234567890abcdefghg';
commit;
20 02 00 02 80 01 f
7 00 04 RDBA=0x0280
01f7 0x04
0x028001f7 SELECT
Execution Plan
---------------------------------------------------------Plan hash value: 4122059633
-------------------------------------------------------------------------| Id | Operation
| Name | Rows | Bytes | Cost (%CPU)| Time
|
-------------------------------------------------------------------------| 0 | SELECT STATEMENT |
|
2 |
12 |
2 (0)| 00:0
0:01 |
|* 1 | TABLE ACCESS FULL| TEST1 |
2 |
12 |
2 (0)| 00:0
0:01 |
-------------------------------------------------------------------------Predicate Information (identified by operation id):
--------------------------------------------------1 - filter("A"=1)
Statistics
---------------------------------------------------------0 recursive calls
0 db block gets
17 consistent gets
0 physical reads
0 redo size
459 bytes sent via SQL*Net to client
P
CTFREE
UPDATE PC
TFREE
PCTFREE 5
PCTFREE
B LOCK_SIZE
PCTFREE
PCTFREE
ALT
ER TABLE ... MOVE EXP/IMP
3 22 3
Oracle
DBA pctusedfreelistsfreelis
t groupsASSM 9i
MSSM
Oracle F
REELIST PCTFREEPCTUSED
FREELISTSFREELIST GROUPS FREELI
ST FREELIST
PCTFREE
FREELIST
PCTUSED
FREELIST
FREELIST PCTUSED Or
acle PCTUSED
FREELIST
FREELISTFREELIST
PCTUSED FREEL
ISTSFREELISTS FREELISTS permen
t data segmenttemporary data segmentindex segmentrollback segme
nt FREELISTS
MASTER FREELISTS
PROCESS FREELISTS
TRANSACTION FREELISTS
MASTER FREELISTS FREELISTS
MASTER FREELISTS
MASTER FREELISTS
FREELISTS
FREELISTS
FREELISTS
ORACLE Oracle FreelistsProcess Freelists
Process Freelists Master Freelists Process
Freelists Master Freelists
Process Freelists
Process Freelists Process Fre
eLists Master Freelists
Process Freelists Process Freelists
Oracle Process Freelists Freeli
sts Oracle Freelists
1 Freelists 1 Master Freelist
s Process Freelists
MSSM Freelists
Oracle 8i
MSSM 8
FREELISTS 8 FREELISTS 1 5.7%
Freelists
1-5%
Freelists
Freelists PCTUSED
Freelists
Freelists Oracle
Transaction Freelists 16 T
ransaction Freelists Transaction
Freelists Transaction Freelists
Transaction Freelists
pctused Transac
tion Freelists
Transaction Freelists
Transacti
on Freelists Master Freelists
Oracle Freelists
Freelists
MSSM Freelists Groups
OPS/RAC
RAC RAC MSS
M Freelists CACHE FUSION
RAC GLOBA
L CACHE
INSTANCE 1 BLOCK 10 INSTANCE 2
BLOCK 10 INSTANCE 1 BLOCK 10
RAC
Freelist Groups Oracle
Freelists Freelists
Groups Freelist Groups Freel
ists Groups
RAC Freelist Groups
Freelist Groups RAC
RAC Freelist Groups
Freelist Groups RAC
Freelist Groups RAC
s
egment header Freelist Groups 1
Freelist Segment Header Freelist Gr
oups Freelists Freelists Block
Freelists
OLTP
OLAP
OLAP
10g
11G oracle 9i
DBA MSSM
8i 9i 10g
8i MSSM
BUG 9i ASSM object reuse
ORA-600 [kcbget_xxx]ORA-600 [kcbnew_xxx] BUG MSSM
ASSM BITMAP
MSSM ASSM BITMAP F
reelists
MSSM
MSSM
3 23 4
DBA
DBA
5% DB
A
SQL
Oracle buff
er busy waits
db cach
e IO 10g
buffer busy waits read by another
session
DB CACHE DB CACHE
30%
INITRANS
PCTFREE
PCTFREE BLOCK_SIZE
oracle
hash hash
HASH
HASH SEQUENCE
HASH
HASH
HASH
HASH
HASH HASH
HASH HASH
HASH
HASH
Oracle
Oracle
3 23 4
HAS
H O
racle
Oracle
CLUSTER
HASHKEYS: KEY
3 24 1
400
200
40
25%
CPU IO
SQL
80
SP SP
1200 1500
20%
20
ADC
11 50
IBM P
AIX 5.3 8.1.7.4
9.2.0.6
, Statspack
9
00-1000 Statspack
0.93
CPU 20%I
O CPU 10%
Statspack SQL
SQL INSERT SM_HISTABLE
59
200 14.2
Statspack SQL
SQL ?
20-30%
8
800
SM_HISTABLE
SM_HISTABLEyymm
CREATED_DATE
MSG_ID MSG_I
D UPDATE ROWID UPD
ATE
3 25 2
8 8
00
2000 1 8 2
0.1 1 2
00 555 55
50 3000
2000
1500
50% 25%
Begin
-----93.70
35.74
29.93
End
-----95.50
34.34
21.30
freelists
freelists 5%10%
SM_HISTABLE
ID_HINT
10000000 1
PARTITION BY RANGE (ID_HINT)
(
PARTITION PART_01 VALUES LESS THAN (1000000)
NOLOGGING
TABLESPACE CQYDSMSC_CENTER1
PCTUSED
40
PCTFREE
10
INITRANS 1
MAXTRANS 255
STORAGE
(
INITIAL
504K
MINEXTENTS
1
MAXEXTENTS
2147483645
FREELISTS
1
FREELIST GROUPS 1
BUFFER_POOL
DEFAULT
),
FREELISTS
HASH IO
1-1-0.1*1
-0.05*1-0.1=23%
BULK INSERT
3
0%
60% 60%
3 26 3
SCOTT
SEQUENCE
FREELISTS INITRANS
HASH
800150030005000
BULK INSERT
SQL profiler
profiler
PL/SQL
7
PROFILER SQL
SEQUENCE CACHE
declare
err number;
begin
err:=DBMS_PROFILER.START_PROFILER (test seq 1000);
testseq(200000);
err:=DBMS_PROFILER.STOP_PROFILER ;
end;
UNIT_NAME
OCCURED
TOT_TIME
LINE TEXT
<anonymous>
.009996
<anonymous>
.002121
TESTLOG
.001145
i:=0;
TESTLOG
i>=N;
50001
40.602085
exit when
TESTLOG
50000
59.097742
i:=i+1;
TESTLOG
50000
2948.819922
dseq.nextval into v from dual;
10
select sm_i
PROFILER
SEQUENCE
CACHE
2
8
200001
942122
4.7
100
8
200001
73282
0.366
1000
8
200001
48250
0.241
5000
8
200001
47129
0.236
20000
8
200001
43299
0.216
sequence sequence
1000 cache sequence cac
he 1000 cache sequence cac
he
23%
sm_histable
freelists,initrans,initial,next
128.67
112.35 :14.5
3%
DB_DaeMon
0.00257
0.00224 :14.5
3
7
3%
14.5%
HASH
10 8 4
4 RAID 5 RAID
RAID REDO LOG REDO LO
G
PARTITION BY HASH (ID_HINT)
PARTITIONS 8
STORE IN (CQYDSMSC_CENTER1,CQYDSMSC_CENTER2,CQYDSMSC_CENTER3,CQYDSMS
C_CENTER4)
90.397
78.793
14.53%
, 14.7
DB_DaeMon
3%
0.00181
0.00158
14.53%
, 14.7
3%
27%
15.
5% HASH 10.27%
24%
1
30
20
8
00 5000
REDO LOG
1000
END;
/
DB_DaeMon
DB_DaeMon
0.149
0.0389
3.83
0.000186
0.000048 3.83
0.0911
0.0247
0.0001138
0.000031 3.68
3.68
PPT, 4
3 27 4
REDO LOG
LOG BUFFER 1MREDO LOG 61M LOG BUFFER 1
20KREDO LOG 100M 2
REDO 2
REDO LOG 1
SGA
REDO
DB CACHE SIZE
NP:3072M
NP:4096M
RH:2048M
RH:2048M
DB CACHE
DB BUFFER
DB CACHE
INSERT
FORALL
DB KEEP SIZE
LOG BUFFER
NP:300M
HISTABLE
RH:300M
KEEP
NP: 102400
NP:20M
LOG BUFFER
RH:20M
log buffe
RH: 124416
SHARED POOL SIZE
r space
NP: 314572
NP:400M
800
RH:400M
LIBRARY CACHE S
RH: 318767
HARED POOL
104
REDO LOG
NP:61M
2000M
RH:100M
REDO LOG HDISK2 UNDO,TEMP
HDISK2 IO
UNDO HDISK3
SM_HISTABLE
SM_HISTABLE
FREELISTS
INITIAL
64K
8M
NEXT
64K
8M
INITRANS
SM_HISTABLE
FREELISTS
INITIAL
64K
4M
2M
NEXT
64K
4M
2M
INITRANS
CPU 20 IO
REDO
1RUNID 10
REDO LOG
LOG BUFFER
INSERT
1000K
8
60000K
50000
37968
0.75936
11
LOG BUFFER SPAC
E
BUFFER BUSY WAI
T
LOG SYNC
2 (RUNID 11)
LOG BUFFER
INSERT
20M
3
1500M
50000
24189
0.48378
5
BUFFER BUSY WAIT
57
7
8 PROFILER 800
50000 57%
38%
3 28 1
DBA Oracle
70 80
90
Oracle Oracle
b b
ID=3 ID
ID=3
IO CPU
3000 2000
5/6
6 6
6
TOAD
6 DBA 6
6 6
2/3
TOAD
6
SQL
BUFFER GET PHYSICAL READ
SQL WHERE
3 29 2
B B
B B B
WHERE
WHERE substr(id,2,3)='ID'
ID
substr(id,2,3 B ,
sequence
DBA lik
e '%abc'like '%abc'
1abc,2abc abc1,abc2
Statistics
---------------------------------------------------------1 recursive calls
0 db block gets
1717 consistent gets
0 physical reads
0 redo size
939 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
hint
SQL> select /*+ INDEX(TINDEX idx_tindex_name ) */ * froM tindex wher
e object_name like '%TINDEX';
Execution Plan
---------------------------------------------------------Plan hash value: 2021627753
---------------------------------------------------------------------------------------------| Id | Operation
| Name
| Rows | Bytes
| Cost (%CPU)| Time
|
---------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT
|
| 5297 | 553
K| 5548 (1)| 00:00:54 |
| 1 | TABLE ACCESS BY INDEX ROWID| TINDEX
| 5297 | 553
K| 5548 (1)| 00:00:54 |
|* 2 | INDEX FULL SCAN
| IDX_TINDEX_NAME | 5287 |
| 520 (1)| 00:00:05 |
---------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------
Statistics
---------------------------------------------------------1 recursive calls
0 db block gets
520 consistent gets
0 physical reads
0 redo size
939 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
Execution Plan
---------------------------------------------------------Plan hash value: 1286384425
---------------------------------------------------------------------------------------------| Id | Operation
| Name
| Rows | Bytes
| Cost (%CPU)| Time
|
---------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT
|
|
4 | 436
|
7 (0)| 00:00:01 |
Statistics
---------------------------------------------------------1 recursive calls
0 db block gets
6 consistent gets
0 physical reads
0 redo size
939 bytes sent via SQL*Net to client
400 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
reverse %TINDEX XEDN
IT% SQL SQL
google
reverse
SELECT *
FROM customer
WHERE Cust_Name LIKE '%Vilas%'
SELECT *
FROM customer
WHERE reverse(Cust_Name) LIKE '%saliV%';
SELECT *
FROM customer
WHERE Cust_Name LIKE '%saliV%';
like
Oracle Like
Oracle
Oracle 12 13
Oracle
3 30 3
DBA
Oracle DBA
Oracle
DBA
DBA
select emp_id,sal from emp where emp_id=11023 and emp_name like 'Joh
n%'
WHERE emp_id=11023, emp_
name likje 'John%' oracle
CBO RBO
CBO
CBO CBO CBO
EMP_NAME
emp_name like 'John%' 10
10 ROWID emp_id,sal
emp_id=11023
10 9
EMP_NAME EMP_ID
EMP_ID SAL
ORACLE CBO
SQL
Oracle
emp_name
emp_name
ROWID
emp_id emp_name
Oracle 9i
IDX_ID_NAME E
MP_ID EMP_NAME SQL:
select emp_id,sal from emp where emp_name= 'John'
IDX_ID_NAME
EMP_NAME
UNIQUE RANGE SCAN
EMP_ID
EMP_ID
Oracle INDEX SKIP SC
ANINDEX SKIP SCAN
EMP_ID
INDEX SKIP SCAN
emp_name emp_name
SQL
extent
db fil
e scattered read db file scattered read
SQL
select emp_name from emp where emp_name is not null order by emp_name
SQL
EXTENTS EMP_NAME
emp_name emp_name
IO
IO
db file sequential read
ORDER BY SQL
IO
EXTENTS
DBA Oracle 4 1 1
4 1 1
2
12 CPU 24 r 40
CPU
SQL 2
SQL
PL/SQL
2
Per Second
Per Trans
---------------
---------
Redo size:
2,596,262.30
60,
Logical reads:
572,843.36
13,
Block changes:
22,523.53
Physical reads:
2,637.11
Physical writes:
672.75
User calls:
21,920.49
Parses:
6,339.75
Hard parses:
310.56
Sorts:
1,714.43
-----116.45
264.19
521.53
61.06
15.58
507.57
146.80
7.19
39.70
Logons:
0.44
Executes:
6,434.11
Transactions:
43.19
0.01
148.98
3.93
Recursive Call %:
9.0
4.01
48.6
99.9
4
4
9
Buffer Hit
%:
99.60
In-memory Sort %:
100.0
Library Hit
%:
97.61
Soft Parse %:
95.1
Execute to Parse %:
1.47
Latch Hit %:
99.3
62.06
% Non-Parse CPU:
90.8
0
0
6
3
Shared Pool Statistics
Begin
-----Memory Usage %: 100.00
% SQL with executions>1: 30.49
% Memory for SQL w/exec>1: 34.11
End
-----100.00
31.15
34.20
Avg
Total Wait
wait
Waits
Event
Waits Timeouts Time (s)
(ms)
/txn
---------------------------- ------------ ---------- ---------- ----- -------db file sequential read
5,023,080
0
75,306
15
32.3
global cache cr request
4,851,421
4,394
6,662
1
31.2
db file scattered read
181,344
0
3,582
20
1.2
IO
TOP SQL
SQL
200M
Statspack SQL
SQL 50 1000 BUFFER GET
SQL
SELECT ORDER_ID ,
NVL(PAYMENT_ID, -1) PAYMENT_ID,
ACCT_ID,
SERV_ID,
ACTION,
STATE ,
TO_CHAR(CREATED_DATE,'YYYYMMDDHH24MISS'),
TO_CHAR(STATE_DATE,'YYYYMMDDHH24MISS') FROM A_XXX
WHERE NVL(PAYMENT_ID,-1)>=:lPaymentID
AND STATE=:sState
ORDER BY
NVL(PAYMENT_ID, -1), CREATED_DATE
SQL BUFFER GET 2500
56 SQL PAYMENT_ID
NVL
PAYMENT_ID 0 >
PAYMEN_ID NVL
SELECT ORDER_ID ,
NVL(PAYMENT_ID, -1) PAYMENT_ID,
ACCT_ID,
SERV_ID,
ACTION,
STATE ,
TO_CHAR(CREATED_DATE,'YYYYMMDDHH24MISS'),
TO_CHAR(STATE_DATE,'YYYYMMDDHH24MISS') FROM A_XXX
WHERE PAYMENT_ID>=:lPaymentID
AND STATE=:sState ORDER BY
PAYMENT_ID, CREATED_DATE
SQL PAYMENT_ID
PAYMENT_ID SQL
PAYMENT_ID NVL
NVL
NVL(PAYMENT_ID,-1)
SQL PAYMENT_ID STAT
E 5/6 PAYMENT_ID SEL
ECT COUNT(*) FROM A_XXX WHERE PAYMENT_ID>:PID PAYME
NT_ID 1/15 STATE
1/60 NVL(PAYMENT_ID)+
STATE PAYMENT_ID A_XXX
200
1:3
0CPU 50%
STATSPACK
6 SNAP STATSPACK SQL 2
buffer get 1500
SQL
sprepsql SQL SQL
3 -5 2
CPU 80%
4 2 2
SQL, SQL
10 CPU
SQL
SQL SQL BUFFER GET
3
select a.filename, b.source_id, b.source_path, b.localnet_abbr, b.fil
e_fmt,b.is_txt_fmt, a.deal_flag
from SCH_XXX a, BBB b
where (a.deal_flag='W' or a.deal_flag='B') and
a.validflag='Y' and b.pipe_id=:szPipeId and a.source_id=b.source_id
------------------------------------------------------------------------------| Operation
| PHV/Object Name
| Rows | Byte
s| Cost |
------------------------------------------------------------------------------|SELECT STATEMENT
|----- 1104374539 ----|
|
| 3486 |
|HASH JOIN
|
|
79K|
7
M| 3486 |
| TABLE ACCESS BY INDEX ROWID
|BBBBB
|
2 | 98
|
2 |
| INDEX RANGE SCAN
|FK_SOURCE_WORKFLOW |
1 |
|
1 |
| TABLE ACCESS FULL
|SCH_XXXXX
|
1M| 6
1M| 3474 |
------------------------------------------------------------------------------ SCH_XXXX
100 1M SPREPSQL
Statement Total
Per Execute
Buffer Gets:
Disk Reads:
Rows processed:
CPU Time(s/ms):
Elapsed Time(s/ms):
Sorts:
Parse Calls:
Invalidations:
Version count:
Sharable Mem(K):
Executions:
--------------626,984
425,693
46
50
988
0
16
0
2
29
16
--------------39,186.5
26,605.8
2.9
3,113.1
61,779.7
.0
1.0
2.9
3 79K
200 (a.deal_flag='W' or a.
deal_flag='B') and a.validflag='Y' validflag
Select validflag,count(*) from sch_xxxx group by validflag;
validflag='Y'
deal_flag deal_flag='Y'
0
SQL deal_flag
200
3/4 SQL
10 -11 30 CPU 95-10
0% 20%
STATSPACK
SQL CPU S
QL BUFFER GET SQL 37%
SQL BUFFER GET 4%
SQL
60 T_PRODUCT_INFO
700 T_PRODUCT_INFO 800
800 700
SQL 1500 BUFFER GET C
LUSTER FACTOR DBA_INDEXES CLUSTER FACT
OR CLUSTER FACTOR
IO, BUF
FER GET
PRODUCT_TYPE PRODUCT_CLASS
1/200
100 PRODUCT_TYP
E PRODUCT_CLASS CLUSTER FACTOR
PRODUCT
_TYPE PRODUCT_CLASS
PRODUCT_ID P
RODUCT_ID
PRODUCT_TYPE PRODUCT_CLASS
1 rename t_product_info_old
2Create table t_product_info as select * from t_product_info ol
d order by product_type,product_class
3
4
C
LUSTER FACTOR
19
21 2
M
1
4 3 3
T_PRODUCT_INFO
8
8 10
buffer get buffer busy waits
200M 300M
REBUILD
300M
60 M
1G ONLINE REBUILD
20 1G
ONLINE REBUILD REBUIL
D ONLINE
REBUILD METALINK
ind$
CASCADE=>TRUE
2
SQL
10
1
1
CPU 60%
CPU 80-90%
CPU 80%-85% 9
0% OSW CPU 8
0% 10:30 90-95% S
TATSPACK T_PRODUCT_INFO SQL
40% 50%
SQL BUFFER GET TOP 5 BU
FFER GET 7%
10 10 PPT
EXCEL
PPT
PPT,
OK
30
800
N 6 500
SQL
REB
UILD
DBA
REDO LOG THREAD THREA
D RAC THREAD REDO L
OG LOG BUFFER THREAD
REDO LOG
REDO LOG
REDO LOG
CV SCN
UNDO REDO LOG U
NDO REDO LOG
UNDO
Oracle Log-Force-at-Commit
REDO LOG COMMIT LO
G BUFFER REDO LOG
BUFFER CACHE
REDO LOG
CHECKPOINT CHECKPOINT CK
PT DBWR SCN
CHECKPOINT SCN
CHECKPOINT
CHECKPOINT
RE
DO LOG
Write-Ahead-Log
BUFFER CACHE R
EDO LOG BUFFER CACHE
REDO LOG
UNDO REDO LOG BUFFER CACHE
LGWR
REDO LOG
REDO LOG
Oracle REDO LOG
RDBMS
REDO LOG
REDO
LOG BUFFER 1M
LOG BUFFER _log_io_size
3
REDO RECORD REC
ORD LOG BUFFER LGWR
LOG FILE SYNC LGWR REDO LOG
OLTP LGWR
LOG BUFFER REDO LOG
REDO LOG
1M 1-2
LGWR REDO LOG LO
G BUFFER oracle LOG BUFFER 1M LGWR
LOG BUFFER
LGWR BUFFER REDO LOG
Oracle _LOG_IO_SIZE LGWR
LOG BUFFER LGWR
LOG BUFFER 1/3 REDO LOG BLOCK
LOG BUFFER LGWR
LOG BUFFER
LOG BUFFER
LOG BUFFER REDO LOG
Oracle LGWR 3
LOG BUFFER
LGWR LGWR
LGWR LOG BUFFER
LOG FILE SYNC LOG FILE SYNC LGWR LOG BUFFER
REDO LOG L
OG FILE SYNC LOG FILE SYNC
REDO LOG LOG BUFFER RE
DO LOG LOG BUFFER LOG BUFFER
log_archive_max_processes LGWR
LGWR
LGWR SGA REDO LOG
ACTIVE DBWR CHECKPOINT
inactive
NOLOGGING BULK
DIRECT PATH WRITE NO
LOGGING Julian Dyke nologging
10
DO 176840NOLOGGING REDO
CTAS REDO NOLOGGING
DIRECT PATH WRITE REDO
REDO LOG DUMP INSERT /*+ APPEND */
REDO INSERT SELECT REDO
REDO RECORD - Thread:1 RBA: 0x0006d1.0000003f.0130 LEN: 0x2050 VLD: 0x01
SCN: 0x0000.053653c2 SUBSCN: 2 09/21/2010 09:56:40
CHANGE #1 MEDIA RECOVERY MARKER SCN:0x0000.00000000 SEQ: 0 OP:24.6
CHANGE #2 TYP:1 CLS: 1 AFN:10 DBA:0x0280c406 OBJ:122858 SCN:0x0000.053653bd SEQ:
9.1
Direct Loader block redo entry
Block header dump:
0x00000000
Object id on Block? Y
seg/obj: 0x1dfea csc: 0x00.53653bc itc: 3 flg: E typ: 1 - DATA
brn: 0 bdba: 0x280c38a ver: 0x01 opc: 0
inc: 0 exflg: 0
Itl
Xid
Uba
0x01
0x0001.00a.000054d6
0x00000000.0000.00
----
0 fsc 0x0000.00000000
0x02
0x0000.000.00000000
0x00000000.0000.00
----
0 fsc 0x0000.00000000
0x03
0x0000.000.00000000
0x00000000.0000.00
----
0 fsc 0x0000.00000000
nrow=91 offs=0
0x12:pri[0]
offs=0x1f36
0x14:pri[1]
offs=0x1eea
0x16:pri[2]
offs=0x1ea1
0x18:pri[3]
offs=0x1e57
0x1a:pri[4]
offs=0x1e09
0x1c:pri[5]
offs=0x1dbe
0x1e:pri[6]
offs=0x1d69
0x20:pri[7]
offs=0x1d1e
Flag Lck
Scn/Fsc
1 OP:1
0x22:pri[8]
offs=0x1cd2
0x24:pri[9]
offs=0x1c79
0x26:pri[10]
offs=0x1c2f
......
Q:
REDO LOG
CHECKPOINT
RE
DO LOG CHECKPOINT REDO LOG
REDO LOG
REDO LOG
REDO LOG
REDO LOG REDO LOG
REDO LOG
REDO LOG
DATA GUARD FAILOVER REDO LO
G CDC REDO LO
G
DBA REDO LOG 10-20
REDO LOG
1 2
60
7 UI
50 50
0 4 6
10
50 B B
ULK 50
BULK
BULK INSERT INSERT BULK
BULK Oracle BULK
USER SQL BULK
BULK SQL
BULK SQL SQLSQL
BULK BULK I
NSERT Oracle
REDO OPCODE LAYER 11 ROW ACCE
SS LAYER 11
Layer 11 : Row Access - KCOCODRW
[kdocts.h]
Opcode 1 : Interpret Undo Record (Undo)
Opcode 2 : Insert Row Piece
Opcode 3 : Drop Row Piece
Opcode 4 : Lock Row Piece
Opcode 5 : Update Row Piece
Opcode 6 : Overwrite Row Piece
Opcode 7 : Manipulate First Column (add or delete the 1rst colum
n)
Opcode 8 : Change Forwarding address
Opcode 9 : Change the Cluster Key Index
Opcode 10 :Set Key Links (change the forward & backward key links
on a cluster key)
Opcode 11 :Quick Multi-Insert
Opcode 12 :Quick Multi-Delete
Opcode 13 :Toggle Block Header flags
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
TYPE T_SM_ID
IS TABLE OF
NUMBER(10)
INDEX BY BINARY_INTEGE
NUMBER(3)
INDEX BY BINARY_INTEGE
TYPE T_ORGADDR
IS TABLE OF
TYPE T_DESTADDR
IS TABLE OF
TYPE T_ID_HINT
IS TABLE OF
NUMBER(10)
R;
R;
R;
R;
INDEX BY BINARY_INTEGE
R;
V_SM_ID
T_SM_ID;
V_SM_SUBID
T_SM_SUBID;
V_ORGADDR
T_ORGADDR;
V_DESTADDR
T_DESTADDR;
V_ID_HINT
T_ID_HINT;
I INTEGER;
VREDO1 INTEGER;
vredo2 integer;
BEGIN
FOR I IN 1.. 2000
LOOP
V_SM_ID(I):=I;
V_SM_SUBID(I):=12;
V_ORGADDR(I):='444555565';
V_DESTADDR(I):='555555';
V_ID_HINT(I):=i;
END LOOP;
select value into vredo1 from v$sysstat where name = 'redo size';
FOR I IN 1..2000 LOOP
INSERT INTO SM_HISTABLE0101 (SM_ID,SM_SUBID,ORGADDR,DESTADDR,ID_HIN
T) VALUES
(V_SM_ID(I),V_SM_SUBID(I),V_ORGADDR(I),V_DESTADDR(I),V_ID_HINT(I));
END LOOP;
COMMIT;
commit;
select value into vredo2 from v$sysstat where name = 'redo size';
select value into vredo2 from v$sysstat where name = 'redo size';
dbms_output.put_line('redo size:'||to_char(vredo2-vredo1));
END;
/
create or replace procedure redo2 is
TYPE T_SM_ID
IS TABLE OF
R;
NUMBER(10)
INDEX BY BINARY_INTEGE
NUMBER(3)
INDEX BY BINARY_INTEGE
TYPE T_ORGADDR
IS TABLE OF
TYPE T_DESTADDR
IS TABLE OF
TYPE T_ID_HINT
IS TABLE OF
NUMBER(10)
R;
R;
R;
INDEX BY BINARY_INTEGE
R;
V_SM_ID
T_SM_ID;
V_SM_SUBID
T_SM_SUBID;
V_ORGADDR
T_ORGADDR;
V_DESTADDR
T_DESTADDR;
V_ID_HINT
T_ID_HINT;
I INTEGER;
VREDO1 INTEGER;
vredo2 integer;
n integer;
BEGIN
n:=2000;
FOR I IN 1.. N
LOOP
V_SM_ID(I):=I;
V_SM_SUBID(I):=12;
V_ORGADDR(I):='444555565';
V_DESTADDR(I):='555555';
V_ID_HINT(I):=i;
END LOOP;
select value into vredo1 from v$sysstat where name = 'redo size';
FORALL I IN 1..N
INSERT INTO SM_HISTABLE0101 (SM_ID,SM_SUBID,ORGADDR,DESTADDR,ID_HIN
T) VALUES
(V_SM_ID(I),V_SM_SUBID(I),V_ORGADDR(I),V_DESTADDR(I),V_ID_HINT(I));
COMMIT;
commit;
select value into vredo2 from v$sysstat where name = 'redo size';
select value into vredo2 from v$sysstat where name = 'redo size';
dbms_output.put_line('redo size:'||to_char(vredo2-vredo1));
END;
/
set serveroutput on
truncate table sm_histable0101;
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
exec redo1;
Table truncated.
SQL>
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
-----------------------------------87596111
SQL> redo size:707356
PL/SQL procedure successfully completed.
SQL>
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
-----------------------------------87596151
SQL> truncate table sm_histable0101;
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
exec redo2;
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
Table truncated.
SQL>
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
-----------------------------------87596178
SQL> redo size:138728
PL/SQL procedure successfully completed.
SQL>
MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)
-----------------------------------87596195
INSERT 707356 REDO LOG,
BULK INSERT, 138728 REDO LOGREDO LOG 1/5
BULK INSERT ORACLE RDBMS
QUICK MULTI-INSERT DUMP REDO LOG
SQL> alter system dump logfile '/opt/oracle/oradata/orcl/redo01.log' scn m
in 87596178 scn max 87596195;
System altered.
DUMP REDO
CHANGE #2 TYP:0 CLS:18 AFN:7 DBA:0x01c007f2 OBJ:4294967295 SCN:0x0000.05389
bf0 SEQ: 2 OP:5.1
ktudb redo: siz: 396 spc: 5858 flg: 0x0012 seq: 0x2aba rec: 0x11
xid: 0x0001.021.0000551d
ktubl redo: slt: 33 rci: 0 opc: 11.1 objn: 122951 objd: 122956 tsn: 0
Undo type: Regular undo
Begin trans
Last buffer split: No
Temp Object: No
Tablespace Undo: No
0x00000000 prev ctl uba: 0x01c007f2.2aba.0f
prev ctl max cmt scn: 0x0000.05388a1f prev tx cmt scn: 0x0000.05388a26
txn start scn: 0xffff.ffffffff logon user: 0 prev brb: 29362160 prev bc
l: 0 KDO undo record:
KTB Redo
op: 0x03 ver: 0x01
op: Z
KDO Op code: QMD row dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x00406482 hdba: 0x00406481
itli: 1 ispac: 0 maxfr: 4863
tabn: 0 lock: 0 nrow: 131
slot[0]: 0
slot[1]: 1
slot[2]: 2
slot[3]: 3
slot[4]: 4
slot[5]: 5
slot[6]: 6
slot[7]: 7
slot[8]: 8
slot[9]: 9
slot[10]: 10
slot[11]: 11
slot[12]: 12
slot[13]: 13
slot[14]: 14
slot[15]: 15
slot[16]: 16
slot[17]: 17
slot[18]: 18
slot[19]: 19
slot[20]: 20
slot[21]: 21
slot[22]: 22
slot[23]: 23
slot[24]: 24
UNDO INSERT UNDO
UNDO CHANGE VECTOR
dbms_output.put_line('redo size:'||to_char(vredo2-vredo1));
END;
/
create or replace procedure redoU2 is
TYPE T_SM_ID
IS TABLE OF
NUMBER(10)
INDEX BY BINARY_INTEGE
NUMBER(3)
INDEX BY BINARY_INTEGE
TYPE T_ORGADDR
IS TABLE OF
TYPE T_DESTADDR
IS TABLE OF
TYPE T_ID_HINT
IS TABLE OF
NUMBER(10)
R;
R;
R;
R;
INDEX BY BINARY_INTEGE
R;
V_SM_ID
T_SM_ID;
V_SM_SUBID
T_SM_SUBID;
V_ORGADDR
T_ORGADDR;
V_DESTADDR
T_DESTADDR;
V_ID_HINT
T_ID_HINT;
I INTEGER;
VREDO1 INTEGER;
vredo2 integer;
n integer;
BEGIN
n:=2000;
FOR I IN 1.. N
LOOP
V_SM_ID(I):=I;
V_SM_SUBID(I):=12;
V_ORGADDR(I):='111111';
V_DESTADDR(I):='2222';
V_ID_HINT(I):=i;
END LOOP;
select value into vredo1 from v$sysstat where name = 'redo size';
FORALL I IN 1..N
update SM_HISTABLE0101 SET ORGADDR=V_ORGADDR(I) WHERE ID_HINT=V_ID_HIN
T(I);
COMMIT;
commit;
select value into vredo2 from v$sysstat where name = 'redo size';
select value into vredo2 from v$sysstat where name = 'redo size';
dbms_output.put_line('redo size:'||to_char(vredo2-vredo1));
END;
from x$ktuxe;
from x$ktuxe;
from x$ktuxe;
from x$ktuxe;
87610350
REDO BULK UPDATE
REDO DUMP REDO LOG
CHANGE #3 TYP:2 CLS: 1 AFN:1 DBA:0x00406482 OBJ:122959 SCN:0x0000.0538cbf
d SEQ: 1 OP:11.5
KTB Redo
op: 0x11 ver: 0x01
op: F xid: 0x0003.011.0000724a
uba: 0x00800ac1.32bc.1e
Block cleanout record, scn: 0x0000.0538cbff ver: 0x01 opt: 0x02, entries f
ollow...
itli: 2 flg: 2 scn: 0x0000.0538cbfd
KDO Op code: URP row dependencies Disabled
xtype: XA flags: 0x00000000 bdba: 0x00406482 hdba: 0x00406481
itli: 1 ispac: 0 maxfr: 4863
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 1 ckix: 191
ncol: 29 nnew: 1 size: 0
col 5: [ 6] 31 31 31 31 31 31
OP CODE 11.5 UPDATE
4 10 1
10 VLDB
VLDB
1-200G
2000 2006
HASH
LESS
LESS
LESS
LESS
THAN
THAN
THAN
THAN
(10000),
(20000),
(30000),
(40000)
Table created.
XJTPAR 4 XJPART_01,XJPA
RT_02,XJPART_03 XJPART_04
DBA_OBJECTS
SQL> col object_name format a10 trunc
SQL> col subobject_name format a12 trunc
SQL> set line 132
TABLE
XJTPAR ID 124949
Oracle
Oracle
DATA_OBJECT_ID
DATA_OBJECT_ID XJTPAR
DATA_OBJECT_ID
DBA_SEGMENTS
SQL> col segment_name format a10 trunc
SQL> col subsegment_name format a12 trunc
SQL> select segment_name,partition_name,segment_type,blocks from dba_segments w
here segment_name ='XJTPAR';
SEGMENT_NA PARTITION_NAME
SEGMENT_TYPE
BLOCKS
---------- ------------------------------ ------------------ ---------XJTPAR
XJPART_01
TABLE PARTITION
8
XJTPAR
XJPART_02
TABLE PARTITION
8
XJTPAR
XJPART_03
TABLE PARTITION
8
XJTPAR
XJPART_04
TABLE PARTITION
8
XJTPAR SEGMENT
SEGMENT
SEGMENT TABLE PARTITION
SEGMENT HEADER DATABLOCK DUMP
DBA_EXTENTS SEGMENT
SQL> select segment_name,partition_name,blocks,file_id,block_id from dba_extent
s where segment_name ='XJTPAR';
SEGMENT_NA PARTITION_NAME
BLOCKS
FILE_ID BLOCK_ID
---------- ------------------------------ ---------- ---------- ---------XJTPAR
XJPART_01
8
4
521
XJTPAR
XJPART_02
8
4
529
XJTPAR
XJPART_03
8
4
537
XJTPAR
XJPART_04
8
4
545
DUMP XJPART_01 XJPART_02
SQL> alter system dump datafile 4 block min 521 block max 524;
System altered.
SQL> alter system dump datafile 4 block min 529 block max 533;
System altered.
TRACE
Start dump data blocks tsn: 4 file#: 4 minblk 521 maxblk 524
buffer tsn: 4 rdba: 0x01000209 (4/521)
scn: 0x0000.055f126c seq: 0x01 flg: 0x04 tail: 0x126c2001
frmt: 0x02 chkval: 0x7b74 type: 0x20=FIRST LEVEL BITMAP BLOCK
Hex dump of block: st=0, typ_found=1
...
buffer tsn: 4 rdba: 0x0100020a (4/522)
scn: 0x0000.055f126b seq: 0x01 flg: 0x04 tail: 0x126b2101
frmt: 0x02 chkval: 0x6964 type: 0x21=SECOND LEVEL BITMAP BLOCK
Hex dump of block: st=0, typ_found=1
...
buffer tsn: 4 rdba: 0x0100020b (4/523)
scn: 0x0000.055f126c seq: 0x01 flg: 0x04 tail: 0x126c2301
frmt: 0x02 chkval: 0x46c7 type: 0x23=PAGETABLE SEGMENT HEADER
Hex dump of block: st=0, typ_found=1
...
buffer tsn: 4 rdba: 0x0100020c (4/524)
scn: 0x0000.001d78df seq: 0x01 flg: 0x06 tail: 0x78df0601
frmt: 0x02 chkval: 0x55bc type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
xjpart_01 1ST BMB 2N
D BMB SEGMENT HEADER xjpart_02
Start dump data blocks tsn: 4 file#: 4 minblk 529 maxblk 533
buffer tsn: 4 rdba: 0x01000211 (4/529)
scn: 0x0000.055f1287 seq: 0x01 flg: 0x04 tail: 0x12872001
frmt: 0x02 chkval: 0x7b75 type: 0x20=FIRST LEVEL BITMAP BLOCK
...
buffer tsn: 4 rdba: 0x01000212 (4/530)
scn: 0x0000.055f1286 seq: 0x01 flg: 0x04 tail: 0x12862101
frmt: 0x02 chkval: 0x697d type: 0x21=SECOND LEVEL BITMAP BLOCK
...
buffer tsn: 4 rdba: 0x01000213 (4/531)
scn: 0x0000.055f1287 seq: 0x01 flg: 0x04 tail: 0x12872301
frmt: 0x02 chkval: 0x46c6 type: 0x23=PAGETABLE SEGMENT HEADER
SEGMENT HEADER,
SEGMENT HEADER
BMB
SQL SQL