SELECT source from source$ WHERE obj# =:1 ORDER BY line
Oracle kernel function from which the problem is raised:
rtbhiopn().
Error code definition:
Oracle is trying to access a row using its ROWID, which has been obtained from an index.
A mismatch was found between the index rowid and the data block it is pointing to.
The rowid points to a non-existent row in the data block.
The corruption can be in data and/or index blocks.
ORA-600 [12700] can also be reported due to a consistent read (CR) problem.
The information dumped to the trace file varies greatly between releases:
- in Oracle 7.3.x it is ORA-600 [12700][a1][a2] , where
Arg [a1] dba (Data Block Address)
Arg [a2] slot number (number of the row in the block pointed by the dba)
- in Oracle 8.x and 9.x, it is ORA-600 [12700][a1][a2][a3] , where
Arg [a1] dataobj# from sys.obj$
Arg [a2] relative dba of the data block
Arg [a3] slot number of the row in the data block
Details: Metalink Note:28229.1 ORA-600 [12700] "Index entry Points to Missing ROWID"
Error code interpretation:
Argument Dec Hex
---------- ---------- ----------
[62] 62 0x3E
[4202128] 4202128 0x401E90
[133] 133 0x85
This problem is related to the slot#133 of the rdba#4202128 of the object#62.
Index block dump:
Block header dump: rdba: 0x00401ede
Object id on Block? Y
seg/obj: 0x63 csc: 0x00.2fbe43 itc: 2 flg: - typ: 2 - INDEX
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0012.01a.00000130 0x008027fb.000e.02 C--- 0 scn 0x0000.0000c71c
0x02 0x0002.013.00000768 0x00807cf2.4f11.08 --U- 217 fsc 0x0000.002fbe45
Leaf block dump
===============
header address 74698844=0x473d05c
kdxcolev 0
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 1
kdxconro 217
kdxcofbo 470=0x1d6
kdxcofeo 471=0x1d7
kdxcoavs 1
kdxlespl 0
kdxlende 0
kdxlenxt 4202207=0x401edf
kdxleprv 4203488=0x4023e0
kdxledsz 6
kdxlecol 0
kdxlebksz 3940
row#0[471] flag: ----, lock: 2, data:(6): 00 40 1e 93 00 5b
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 02 62
...
row#213[3876] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 85
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 05 0b
row#214[3892] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 86
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 05 0c
...
As seen in the index block dump, kdxledsz is 6. That means this index is a unique B*Tree index which uses restricted ROWID format in 6 bytes. The first 4 bytes are used for rdba, and the last 2 bytes are used for slot#.
This internal error code had returned 0x401E90 for the rdba, and 0x85 for the slot#. The restricted ROWID in the index dump has to be the combination of them. So, it's 0x00401E900085. This restricted ROWID is available in the index dump.
The pri[] field shows slot# of rows in data block. In this error, the returned slot# is 133. But, as seen in the data block dump, there is no row allocated for this slot. The max slot# in the block dump is 132.
Although there is a value in the index block, there is no matching row in the data block. The data block looks corrupted.
Workaround:
The most probably the object#62 is source$. Restore SYSTEM tablespace from the backup, and recover it.
SELECT source from source$ WHERE obj# =:1 ORDER BY line
Oracle kernel function from which the problem is raised:
rtbhiopn().
Error code definition:
Oracle is trying to access a row using its ROWID, which has been obtained from an index.
A mismatch was found between the index rowid and the data block it is pointing to.
The rowid points to a non-existent row in the data block.
The corruption can be in data and/or index blocks.
ORA-600 [12700] can also be reported due to a consistent read (CR) problem.
The information dumped to the trace file varies greatly between releases:
- in Oracle 7.3.x it is ORA-600 [12700][a1][a2] , where
Arg [a1] dba (Data Block Address)
Arg [a2] slot number (number of the row in the block pointed by the dba)
- in Oracle 8.x and 9.x, it is ORA-600 [12700][a1][a2][a3] , where
Arg [a1] dataobj# from sys.obj$
Arg [a2] relative dba of the data block
Arg [a3] slot number of the row in the data block
Details: Metalink Note:28229.1 ORA-600 [12700] "Index entry Points to Missing ROWID"
Error code interpretation:
Argument Dec Hex
---------- ---------- ----------
[62] 62 0x3E
[4202128] 4202128 0x401E90
[133] 133 0x85
This problem is related to the slot#133 of the rdba#4202128 of the object#62.
Index block dump:
Block header dump: rdba: 0x00401ede
Object id on Block? Y
seg/obj: 0x63 csc: 0x00.2fbe43 itc: 2 flg: - typ: 2 - INDEX
fsl: 0 fnx: 0x0 ver: 0x01
Itl Xid Uba Flag Lck Scn/Fsc
0x01 0x0012.01a.00000130 0x008027fb.000e.02 C--- 0 scn 0x0000.0000c71c
0x02 0x0002.013.00000768 0x00807cf2.4f11.08 --U- 217 fsc 0x0000.002fbe45
Leaf block dump
===============
header address 74698844=0x473d05c
kdxcolev 0
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 2
kdxcosdc 1
kdxconro 217
kdxcofbo 470=0x1d6
kdxcofeo 471=0x1d7
kdxcoavs 1
kdxlespl 0
kdxlende 0
kdxlenxt 4202207=0x401edf
kdxleprv 4203488=0x4023e0
kdxledsz 6
kdxlecol 0
kdxlebksz 3940
row#0[471] flag: ----, lock: 2, data:(6): 00 40 1e 93 00 5b
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 02 62
...
row#213[3876] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 85
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 05 0b
row#214[3892] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 86
col 0; len 3; (3): c2 27 11
col 1; len 3; (3): c2 05 0c
...
As seen in the index block dump, kdxledsz is 6. That means this index is a unique B*Tree index which uses restricted ROWID format in 6 bytes. The first 4 bytes are used for rdba, and the last 2 bytes are used for slot#.
This internal error code had returned 0x401E90 for the rdba, and 0x85 for the slot#. The restricted ROWID in the index dump has to be the combination of them. So, it's 0x00401E900085. This restricted ROWID is available in the index dump.
The pri[] field shows slot# of rows in data block. In this error, the returned slot# is 133. But, as seen in the data block dump, there is no row allocated for this slot. The max slot# in the block dump is 132.
Although there is a value in the index block, there is no matching row in the data block. The data block looks corrupted.
Workaround:
The most probably the object#62 is source$. Restore SYSTEM tablespace from the backup, and recover it.
Error code:
Current SQL statement for this session:
Oracle kernel function from which the problem is raised:
Error code definition:
Error code interpretation:
Argument Dec Hex ---------- ---------- ---------- [62] 62 0x3E [4202128] 4202128 0x401E90 [133] 133 0x85 This problem is related to the slot#133 of the rdba#4202128 of the object#62.Index block dump:
Block header dump: rdba: 0x00401ede Object id on Block? Y seg/obj: 0x63 csc: 0x00.2fbe43 itc: 2 flg: - typ: 2 - INDEX fsl: 0 fnx: 0x0 ver: 0x01 Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0012.01a.00000130 0x008027fb.000e.02 C--- 0 scn 0x0000.0000c71c 0x02 0x0002.013.00000768 0x00807cf2.4f11.08 --U- 217 fsc 0x0000.002fbe45 Leaf block dump =============== header address 74698844=0x473d05c kdxcolev 0 kdxcolok 0 kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y kdxconco 2 kdxcosdc 1 kdxconro 217 kdxcofbo 470=0x1d6 kdxcofeo 471=0x1d7 kdxcoavs 1 kdxlespl 0 kdxlende 0 kdxlenxt 4202207=0x401edf kdxleprv 4203488=0x4023e0 kdxledsz 6 kdxlecol 0 kdxlebksz 3940 row#0[471] flag: ----, lock: 2, data:(6): 00 40 1e 93 00 5b col 0; len 3; (3): c2 27 11 col 1; len 3; (3): c2 02 62 ... row#213[3876] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 85 col 0; len 3; (3): c2 27 11 col 1; len 3; (3): c2 05 0b row#214[3892] flag: ----, lock: 2, data:(6): 00 40 1e 90 00 86 col 0; len 3; (3): c2 27 11 col 1; len 3; (3): c2 05 0c ...Data block dump:
Block header dump: rdba: 0x00401e90 Object id on Block? Y seg/obj: 0x3e csc: 0x00.2fbe43 itc: 1 flg: - typ: 1 - DATA fsl: 0 fnx: 0x0 ver: 0x01 Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0002.013.00000768 0x00807cf2.4f11.0b --U- 139 fsc 0x009b.002fbe45 data_block_dump =============== tsiz: 0xfb8 hsiz: 0x128 pbl: 0x04b43044 bdba: 0x00401e90 flag=--------- ntab=1 nrow=139 frre=-1 fsbo=0x128 fseo=0x2d4 avsp=0x111 tosp=0x23a 0xe:pti[0] nrow=139 offs=0 0x12:pri[0] offs=0xfb6 0x14:pri[1] offs=0xfb4 0x16:pri[2] offs=0xfb2 . 0x11a:pri[132] offs=0x382 0x11c:pri[133] sfll=0 0x11e:pri[134] sfll=0 0x120:pri[135] sfll=0 0x122:pri[136] sfll=0 0x124:pri[137] sfll=0 0x126:pri[138] sfll=0 block_row_dump: tab 0, row 0, @0xfb6 tl: 2 fb: --HDFL-- lb: 0x1 tab 0, row 1, @0xfb4 tl: 2 fb: --HDFL-- lb: 0x1 . tab 0, row 132, @0x382 tl: 42 fb: --H-FL-- lb: 0x1 cc: 3 col 0: [ 3] c2 27 11 col 1: [ 3] c2 05 0a col 2: [30] 09 09 09 09 09 09 6c 5f 6e 65 78 74 48 6f 6c 64 44 65 73 69 72 65 4e 75 6d 62 65 72 2c 0a end_of_block_dumpProblem explanation:
As seen in the index block dump, kdxledsz is 6. That means this index is a unique B*Tree index which uses restricted ROWID format in 6 bytes. The first 4 bytes are used for rdba, and the last 2 bytes are used for slot#.
This internal error code had returned 0x401E90 for the rdba, and 0x85 for the slot#. The restricted ROWID in the index dump has to be the combination of them. So, it's 0x00401E900085. This restricted ROWID is available in the index dump.
The pri[] field shows slot# of rows in data block. In this error, the returned slot# is 133. But, as seen in the data block dump, there is no row allocated for this slot. The max slot# in the block dump is 132.
Although there is a value in the index block, there is no matching row in the data block. The data block looks corrupted.
Workaround:
The most probably the object#62 is source$. Restore SYSTEM tablespace from the backup, and recover it.