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:
Index block dump:
Data block dump:
Problem 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.