SQL> alter table t add primary key(id);alter table t add primary key(id)*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-08102: index key not found, obj# 52, file 1, block 72661 (2)
SQL> SELECT OWNER#,NAME,CON# FROM CON$ WHERE NAME=‘_NEXT_CONSTRAINT‘;OWNER# NAME CON#---------- ------------------------------ ----------0 _NEXT_CONSTRAINT 11222
SQL> set lines 200SELECT OWNER#,NAME,CON#,dbms_rowid.ROWID_RELATIVE_FNO(rowid) fno,dbms_rowid.ROWID_BLOCK_NUMBER(rowid) bno,dbms_rowid.ROWID_ROW_NUMBER(rowid) rno FROM CON$ WHERE NAME=‘_NEXT_CONSTRAINT‘;OWNER# NAME CON# FNO BNO RNO---------- ------------------------------ ---------- ---------- ---------- ----------0 _NEXT_CONSTRAINT 11222 1 289 12
[oracle@cqfrog bbed]$ bbed parfile=par.txtBBED> set file 1 block 289FILE# 1BLOCK# 289
- BBED> p *kdbr[12]
rowdata[0]----------ub1 rowdata[0] @1207 0x2c
- BBED> x /rccnn
rowdata[0] @1207----------flag@1207: 0x2c (KDRHFL, KDRHFF, KDRHFH)lock@1208: 0x02cols@1209: 4col 0[1] @1210: .col 1[16] @1212: _NEXT_CONSTRAINTcol 2[4] @1229: 11222col 3[1] @1234: 0
BBED> dump /v offset 1229 count 16File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 289 Offsets: 1229 to 1244 Dba:0x00400121-------------------------------------------------------04c3020d 1701802c 00040180 105f4e45 l .......,....._NE<16 bytes per line>
SQL> select dump(11222, 16) from dual;DUMP(11222,16)----------------------Typ=2 Len=4: c3,2,d,17
SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options
BBED> dump /v offset +4File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 289 Offsets: 1233 to 1248 Dba:0x00400121-------------------------------------------------------1701802c 00040180 105f4e45 58545f43 l ...,....._NEXT_C<16 bytes per line>
BBED> modify /x 1901802cFile: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 289 Offsets: 1233 to 1248 Dba:0x00400121------------------------------------------------------------------------1901802c 00040180 105f4e45 58545f43<32 bytes per line>BBED> sum applyCheck value for File 1, Block 289:current = 0x7fca, required = 0x7fcaBBED> dump /v offset 1233File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 289 Offsets: 1233 to 1248 Dba:0x00400121-------------------------------------------------------1901802c 00040180 105f4e45 58545f43 l ...,....._NEXT_C<16 bytes per line>
SQL> startupORACLE instance started.Total System Global Area 835104768 bytesFixed Size 2217952 bytesVariable Size 549455904 bytesDatabase Buffers 276824064 bytesRedo Buffers 6606848 bytesDatabase mounted.Database opened.
SQL> select /*+ FULL(t1) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11224
SQL> select /*+ index(t1 I_CON2) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11222
SQL> create table t as select * from test where rownum<10;Table created.SQL> desc t;Name Null? Type----------------------------------------- -------- ----------------------------ID NUMBERNAME VARCHAR2(128
SQL> alter table t add primary key(id);alter table t add primary key(id)*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-08102: index key not found, obj# 52, file 1, block 72661 (2)
SQL> alter table t add primary key(id);alter table t add primary key(id)*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-08102: index key not found, obj# 52, file 1, block 72661 (2)
SQL> select /*+ FULL(t1) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11224SQL> select /*+ index(t1 I_CON2) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11222
SQL> alter system dump datafile 1 block 72661;System altered.SQL> select * from v$diag_info;1 Default Trace File /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_6051.trc

SQL> select UTL_RAW.CAST_TO_NUMBER(replace(‘c3 02 0d 19‘,‘ ‘,‘‘)) from dual;UTL_RAW.CAST_TO_NUMBER(REPLACE(‘C3020D19‘,‘‘,‘‘))-------------------------------------------------11224
row#198[3566] flag: ---D--, lock: 2, len=13, data:(6): 00 41 38 6c 00 adcol 0; len 4; (4): c3 02 0d 15row#199[3540] flag: ---D--, lock: 2, len=13, data:(6): 00 41 38 6c 00 afcol 0; len 4; (4): c3 02 0d 16row#200[3553] flag: ------, lock: 0, len=13, data:(6): 00 40 01 21 00 0ccol 0; len 4; (4): c3 02 0d 17----- end of leaf block dump -----End dump data blocks tsn: 0 file#: 1 minblk 72661 maxblk 72661
SQL> select UTL_RAW.CAST_TO_NUMBER(replace(‘c3 02 0d 17‘,‘ ‘,‘‘)) from dual;UTL_RAW.CAST_TO_NUMBER(REPLACE(‘C3020D17‘,‘‘,‘‘))-------------------------------------------------11222

BBED> set file 1 block 72661;FILE# 1BLOCK# 72661
BBED> dump offset 3677 count 16File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 72661 Offsets: 3677 to 3692 Dba:0x00411bd5------------------------------------------------------------------------04c3020d 17010200 41386c00 ad04c302
BBED> modify /x 19 offset 3681File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 72661 Offsets: 3681 to 3696 Dba:0x00411bd5------------------------------------------------------------------------19010200 41386c00 ad04c302 0d150100<32 bytes per line>BBED> sum applyCheck value for File 1, Block 72661:current = 0x1fa3, required = 0x1fa3BBED> dump offset 3677 count 16File: /u01/app/oracle/oradata/orcl/system01.dbf (1)Block: 72661 Offsets: 3677 to 3692 Dba:0x00411bd5------------------------------------------------------------------------04c3020d 19010200 41386c00 ad04c302<32 bytes per line>
SQL> select /*+ FULL(t1) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11224SQL> select /*+ index(t1 I_CON2) */ name,con# from con$ t1 where name=‘_NEXT_CONSTRAINT‘;NAME CON#------------------------------ ----------_NEXT_CONSTRAINT 11224
SQL> alter table t add primary key(id);Table altered.
原文:http://www.cnblogs.com/xiaohe001/p/6536867.html