ype# from obj$ where obj#=49;
OBJ# NAME OWNER# TYPE#
---------- ------------------------------ ---------- ----------
49 I_CON2 0 1
SQL> select/*+ FULL(T1) */ OWNER#,NAME,CON# FROM CON$ T1
2 minus
3 select /*+ index(T I_CON2) */ owner#,name,con# from con$ T;
OWNER# NAME CON#
---------- ------------------------------ ----------
0 _NEXT_CONSTRAINT 5224
SQL> SELECT /*+ index(t I_CON2) */owner#, NAME, con# FROM CON$ t where t.NAME='_NEXT_CONSTRAINT';
OWNER# NAME CON#
---------- ------------------------------ ----------
0 _NEXT_CONSTRAINT 5214
SQL> select/*+ FULL(T1) */ OWNER#,NAME,CON# FROM CON$ T1 where t1.NAME='_NEXT_CONSTRAINT';
OWNER# NAME CON#
---------- ------------------------------ ----------
0 _NEXT_CONSTRAINT 5224
SQL> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,
dbms_rowid.rowid_row_number(rowid) row#
from con$
where name='_NEXT_CONSTRAINT'; 2 3 4
FILE# BLOCK# ROW#
---------- ---------- ----------
1 170 12
SQL> select object_name,owner,object_type from dba_objects where object_id=49;
OBJECT_NAME OWNER OBJECT_TYPE
------------------------------ ------------------------------ -------------------
I_CON2 SYS INDEX
根据报错对block 1,27255进行dump
oer 8102.2 - obj# 49, rdba: 0x00406a77(afn 1, blk# 27255)
kdk key 8102.2:
ncol: 1, len: 4
key: (4): 03 c2 35 19
mask: (4096):
alter system dump datafile 1 block 27255;
buffer tsn: 0 rdba: 0x00406a77 (1/27255)
scn: 0x0000.000ac09d seq: 0x01 flg: 0x06 tail: 0xc09d0601
frmt: 0x02 chkval: 0xb28f type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
Dump of memory from 0x000000001D44E400 to 0x000000001D450400
Block header dump: 0x00406a77
Object id on Block? Y
seg/obj: 0x31 csc: 0x00.ac09c itc: 2 flg: O typ: 2 - INDEX
fsl: 0 fnx: 0x406a78 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0009.00d.0000011e 0x0080610f.00b3.01 CB-- 0 scn 0x0000.00089531
0x02 0x0002.021.00000145 0x008002d0.00c7.3c --U- 1 fsc 0x0000.000ac09d
Leaf block dump
===============
header address 491054172=0x1d44e45c
kdxcolev 0
KDXCOLEV Flags = - - -
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 1
kdxcosdc 1
kdxconro 240
kdxcofbo 516=0x204
kdxcofeo 4712=0x1268
kdxcoavs 4638
kdxlespl 0
kdxlende 0
kdxlenxt 0=0x0
kdxleprv 4221558=0x406a76
kdxledsz 6
kdxlebksz 8032
row#0[8020] flag: ------, lock: 0, len=12, data:(6): 00 40 e2 fa 00 ea
col 0; len 3; (3): c2 32 39
row#1[8008] flag: ------, lock: 0, len=12, data:(6): 00 40 e2 fa 00 eb
col 0; len 3; (3): c2 32 3a
row#2[7996] flag: ------, lock: 0, len=12, data:(6): 00 40 e2 fa 00 ec
col 0; len 3; (3): c2 32 3b
... ...
row#237[5178] flag: ------, lock: 0, len=12, data:(6): 00 40 e2 fb 00 dd
col 0; len 3; (3): c2 34 5f
row#238[4712] flag: ------, lock: 2, len=12, data:(6): 00 40 e2 fb 00 e4
col 0; len 3; (3): c2 35 0e
row#239[4724] flag: ------, lock: 0, len=12, data:(6): 00 40 00 aa 00 0c
col 0; len 3; (3): c2 35 0f
----- end of leaf block dump -----
End dump data blocks tsn: 0 file#: 1 minblk 27255 maxblk 27255
SQL> SELECT OWNER#,NAME,CON#,
2 dbms_rowid.ROWID_RELATIVE_FNO(rowid) fno,
3 dbms_rowid.ROWID_BLOCK_NUMBER(rowid) bno,
4 dbms_rowid.ROWID_ROW_NUMBER(rowid) rno FROM CON$ WHERE NAME='_NEXT_CONSTRAINT';
OWNER# NAME CON# FNO BNO RNO
---------- ------------------------------ ---------- ---------- ---------- ----------
0 _NEXT_CONSTRAINT 5214 1 170 12
注意索引中的ROWID=文件号+块号+行号
文件号 |