Академический Документы
Профессиональный Документы
Культура Документы
Page 1 of 12
Type: REFERENCE
In this Document
Purpose
Scope
Details
Description
Cause
Expected behavior.
Block Corruption.
Overlapped Extents.
Overlapped ASM extent.
Oracle defect.
Identify the affected object
Get the SQL statement that is causing the error.
Identify the affected object with ANALYZE.
Identify the object with event 10236.
Identify the object with event 10200.
Identify object affected by Block Corruption.
Identify object affected by Overlapped Extents.
Using the call stack trace arguments to identify the block producing the ORA-8103.
Solution
Fix Block Corruption.
Flush the buffer cache.
Index Corruption.
Table Corruption.
OPTION 1 - No backup
OPTION 2 - No backup
Temporary Segment Corruption
Fix Overlapped Extents.
References
APPLIES TO:
Oracle Database - Enterprise Edition - Version 8.1.5.0 to 11.2.0.3 [Release 8.1.5 to 11.2]
Information in this document applies to any platform.
PURPOSE
This article provides information about error ORA-8103 and possible actions.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 2 of 12
SCOPE
This note is intended for general audience as initial starting point for beginning diagnosis of ORA-8103.
DETAILS
Description
ORA-8103 is reporting that a SQL statement found a block that no longer belongs to the object referenced
in the statement.
Cause
ORA-8103 is caused by an invalid block type. The block header has an invalid block type or the block type
inside the block is not expected; e.g. a data block (Type=6) was expected but the actual block information
is not a data block (Type!=6).
ORA-8103 is also caused by an unexpected data_object_id where it is changing for the involved objects
while the affected SQL statement is executed.
These two causes might be due to an expected behavior or other problems. Details are:
Expected behavior.
Tables are being dropped/truncated while a SQL statement for those tables is still in
execution. In the case of an index, it might be caused by an index rebuild. In other words the
object has been deleted by another session since the operation began.
Look if dba_objects.data_object_id is changing for the affected object while queries are being
executed.
data_object_id is changed by DDL statements like:
truncate table
alter index .. rebuild
alter table .. move
etc.
Block Corruption.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 3 of 12
Hardware, IO subsystem or OS problems may cause block corruptions overwriting the Block
Type in the block header causing the error ORA-8103.
The block is healthy but it is an "OLD/STALE" block. These kind of corruptions might be
caused by LOST IO/LOST WRITE or a bug in external non-oracle tools that migrate file
systems while the database is OPEN. In that case the data_object_id for the affected object
could have changed but the actual block does not reflect it.
Note that the block may also be temporarily corrupted in the buffer cache (SGA Memory).
Overlapped Extents.
Overlapped Extents means that two or more segments incorrectly use the same block. This is
a LMT Bitmap Extent inconsistency or Data Dictionary inconsistency.
To identify overlapped extents run the next checks:
For LMT (Locally Managed Tablespaces) run :
sqlplus / as sysdba
execute dbms_space_admin.tablespace_verify('&tablespace_name')
oradebug setmypid
oradebug tracefile_name
In 10gR2 and forward, for locally managed tablespaces using ASSM
(DBA_TABLESPACES.SEGMENT_SPACE_MANAGEMENT=AUTO) run:
execute dbms_space_admin.assm_tablespace_verify
('&tablespace_name',dbms_space_admin.TS_VERIFY_BITMAPS)
oradebug setmypid
oradebug tracefile_name
Note that the session running dbms_space_admin does not say in the screen if an
inconsistency is detected. dbms_space_admin will generate a trace file instead. So
check if "oradebug tracefile_name" provides a trace file.
If ORA-8103 is produced by tablespace_verify, it means that a block associated to the
segment header is affected. Identify the affected object as explained in the section
below and drop it. It may convert the segment to temporary which may need the
usage of dbms_space_admin.segment_corrupt and dbms_space_admin.segment_drop
to completely remove the segment.
For Data Dictionary managed tablespaces run the hcheck script in:
Note 136697.1 (it checks for overlapped extents through fet$/uet$).
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 4 of 12
Meaning that ASM file number 3551 Physical Extent 3819 is using Allocation unit 78 in Disk
254 and at the same time ASM File Number 3564 has Physical Extent pointing to the same
Allocation unit.
Oracle defect.
It can be an Oracle bug. See section "known issues" below.
Open the trace file and if function ktrget is in the call stack trace, then the trace file may have:
KTRVAC: path typ=22, rdba=32810e06
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 5 of 12
Meaning that the error is produced in rdba=0x32810e06 . Convert that number to decimal and
get the relative_fno, block#:
select dbms_utility.data_block_address_file(847318534) relative_fno
,dbms_utility.data_block_address_block(847318534) block#
from dual;
RELATIVE_FNO BLOCK#
------------ ---------202 69126
Then use Note <> to identify the object; section "Identify the Corrupt Object".
set max_dump_file_size=unlimited;
set db_file_multiblock_read_count=1;
set events 'immediate trace name trace_buffer_on level
set
set
set
set
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 6 of 12
Then use Note <> to identify the object; section "Identify the Corrupt Object".
Use sections "DBVerify - Identify Datafile Block Corruptions" or "RMAN - Identify Datafile Block
Corruptions" in Note 836658.1 and Note 819533.1 to identify the affected object.
Solution
Fix Block Corruption.
If error ORA-8103 is constantly reproduced by ANALYZE and if it has been determined that it
is not the expected behavior, then it means that there is a possible block corruption. The
possible solutions are:
In a RAC system, flushing the buffer cache may be needed in the additional rac
instances.
If error still persists it means the the block is invalid also in disk, so continue with
the next steps:
Index Corruption.
Drop and recreate the index.
Table Corruption.
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 7 of 12
OPTION 1 - No backup
If the table has an index use the plsql script provided in Note 1527738.1
OPTION 2 - No backup
If the table does not have an index, use script provided in Note 422547.1
Another solution is to determine if dbms_repair can be used to skip these blocks
or if procedure described in Note 61685.1 can be used to skip corrupted blocks
using rowid scans.
sqlplus / as sysdba
execute dbms_space_admin.segment_corrupt
('&tablespace_name',&relative_fno,&block_number)
execute dbms_space_admin.segment_drop_corrupt
('&tablespace_name',&relative_fno,&block_number)
execute dbms_space_admin.tablespace_rebuild_bitmaps
('&tablespace_name')
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 8 of 12
11.2.0.2
NB Bug
Fixed
11.2.0.3
12.1.0.1
Description
15996357 12.2.0.0
13910420
11.2.0.3.6, 11.2.0.3.BP09,
11.2.0.4, 12.1.0.1
13725395
11.2.0.3.8, 11.2.0.3.BP07,
11.2.0.4, 12.1.0.1
13700577
11.2.0.3.BP07, 11.2.0.4,
12.1.0.1
12747437
11.2.0.3.8, 11.2.0.3.BP21,
11.2.0.4, 12.1.0.1
12330911 12.1.0.1
11937253
11.2.0.2.6, 11.2.0.2.BP11,
11.2.0.3, 12.1.0.1
11.2.0.2.BP20, 11.2.0.3,
12.1.0.1
11.2.0.1.BP10, 11.2.0.2.2,
11.2.0.2.BP03,
10329146 11.2.0.2.GIBUNDLE02,
11.2.0.2.GIPSU02,
11.2.0.3, 12.1.0.1
11.1.0.7.7, 11.2.0.1.BP08,
11.2.0.2.1, 11.2.0.2.BP02,
10209232
11.2.0.2.GIBUNDLE01,
11.2.0.3, 12.1.0.1
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 9 of 12
11.2.0.2.2, 11.2.0.2.BP05,
11.2.0.3, 12.1.0.1
11.1.0.7.4, 11.2.0.1.2,
9272086 11.2.0.1.BP06, 11.2.0.2,
12.1.0.1
8740993
11.1.0.7.8, 11.2.0.2,
12.1.0.1
8725282
11.2.0.1.BP08, 11.2.0.2,
12.1.0.1
8597106
11.2.0.1.BP06, 11.2.0.2,
12.1.0.1
10.2.0.5.1, 11.2.0.1.2,
7519406 11.2.0.1.BP06, 11.2.0.2,
12.1.0.1
ORA-8103 by DBA_UNDO_EXTENTS or
DBMS_SPACE_ADMIN.TABLESPACE_VERIFY on
Block type: 0x25
9167831 11.2.0.2
7390324 11.2.0.1
7117200 11.2.0.1
8825048 11.1.0.7.3
6337376 11.1.0.7
9711472 11.1.0.6
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 10 of 12
6864586 10.2.0.5
13618170
5523799
P* 6047085
*
2333731 9.2.0.2
1698789 9.2.0.1
1504967 9.2.0.1
1283521 8.1.7.0
589855
7.3.3.6, 7.3.4.1
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 11 of 12
REFERENCES
NOTE:1504967.8 - Bug 1504967 - ORA-8103 possible on READ ONLY standby after TRUNCATE on primary
NOTE:136697.1 - "hcheck.sql" script to check for known problems in Oracle8i, Oracle9i, Oracle10g and
Oracle 11g
NOTE:9272086.8 - Bug 9272086 - ORA-8103 by a query on DBA_EXTENTS. Trace file with Block type:
0x44=NGLOB: Extent Map
NOTE:1698789.8 - Bug 1698789 - Wrong results, ORA-1410, ORA-8103, OERI:25012 on SELECT of
UNSCOPED REF with ROWID
NOTE:2105419.8 - Bug 2105419 - ORA-8103 possible from PQ on bitmap managed segments with
concurrent inserts
NOTE:1804299.8 - Bug 1804299 - Rollback of Direct load can corrupt BITMAP managed segments / ORA8103
NOTE:3868753.8 - Bug 3868753 - Concurrent export / INSERT of ASSM segment can fail with ORA-1410 /
ORA-8103
NOTE:12582839.8 - Bug 12582839 - ORA-8103/ORA-600 [3020] on RMAN recovered locally managed
tablespace
NOTE:5523799.8 - Bug 5523799 - Various OERI (eg kcbgtcr_12) using ASSM managed segments superceded
NOTE:8716064.8 - Bug 8716064 - Analyze Table Validate Structure fails on ADG standby with several errors
NOTE:9651350.8 - Bug 9651350 - Large redo dump and ORA-308 might be raised due to ORA-8103
NOTE:5083393.8 - Bug 5083393 - DBA_FREE_SPACE FILE_ID / REL_FNO may be wrong
NOTE:7117200.8 - Bug 7117200 - ORA-8103 after TSPITR/PLUGIN tablespace from a restored Level 1
Backup
NOTE:7390324.8 - Bug 7390324 - ANALYZE signals OERI [kcbgtcr_12]/ORA-8103 on bitmap index
NOTE:3083560.8 - Bug 3083560 - ORA-1410 / ORA-8103 from direct path export if concurrent DML occurs
NOTE:3569503.8 - Bug 3569503 - PQ may signal a false ORA-8103 under load
NOTE:1400739.8 - Bug 1400739 - Block corruption/OERI:2023 /ORA-8103 can occur if TRUNCATE is
interrupted (Ctrl-C)
NOTE:7432556.8 - Bug 7432556 - ORA-8103 by Parallel Query on Partitioned Tables in BIGFILE
Tablespaces
NOTE:2619867.8 - Bug 2619867 - OERI:[KCBGTCR_12] / ORA-8103 / ORA-1410 SELECTing from bitmap
managed segment
NOTE:7710827.8 - Bug 7710827 - Index rebuild or Merge partition causes wrong results in concurrent reads
instead of ORA-8103
NOTE:819533.1 - How to identify the corrupt Object reported by ORA-1578 / RMAN / DBVERIFY
NOTE:1998455.8 - Bug 1998455 - OERI:KCBGTCR_4 possible from long running DDL if referenced object
dropped/truncated
NOTE:4592596.8 - Bug 4592596 - Corruption (ORA-1410 / ORA-8103) from multi-table insert with direct
load
NOTE:3966709.8 - Bug 3966709 - Range/object reuse prematurely (ORA-8103)
NOTE:8428523.8 - Bug 8428523 - Alter Table Rename causes wrong results/ora-8103/hangs on ADG
Standby.
NOTE:9965085.8 - Bug 9965085 - ORA-1578 / ORA-8103 Temporary table block corruption / space wastage
from PDML
NOTE:887263.1 - How to identify the SEGMENT reported by dbms_space_admin.TABLESPACE_VERIFY
NOTE:6864586.8 - Bug 6864586 - ORA-8103 on partitioned table with a LOB column during analyze table
with concurrent add/drop partition.
NOTE:12747437.8 - Bug 12747437 - ORA-600 [ktspfmdb:objdchk_kcbnew_3] after purging single consumer
queue table
NOTE:589855.8 - Bug 589855 - ORA:1578 or ORA:8103 selecting invalid ROWID
NOTE:8740993.8 - Bug 8740993 - ORA-1410 / ORA-8103 on ADG STANDBY during table scan after
DROP/TRUNCATE/SHRINK in PRIMARY
NOTE:8825048.8 - Bug 8825048 - ORA-308/ORA-27037 when dumping archived log for ORA-8103. Dump
when event 10736 level 4 is set
NOTE:8754670.8 - Bug 8754670 - IMP-17 / ORA-8103 transporting a large dictionary managed tablespace
NOTE:422547.1 - Extract rows from a CORRUPT table creating ROWID from DBA_EXTENTS
NOTE:9659614.8 - Bug 9659614 - Large trace file for ORA-8103
NOTE:10329146.8 - Bug 10329146 - Lost write in ASM with multiple DBWs and a disk is offlined and then
onlined
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17
Document 8103.1
Page 12 of 12
NOTE:10385812.8 - Bug 10385812 - ORA-1410 or ORA-8103 by queries with DIRECT READ while
concurrent DIRECT INSERT
NOTE:9711472.8 - Bug 9711472 - ORA-8103 on operations for a partitioned LOB if any different partition is
dropped
NOTE:10136415.8 - Bug 10136415 - ORA-8103 on Partitioned IOT after partition maintenance
NOTE:10209232.8 - Bug 10209232 - ORA-1578 / ORA-600 [3020] Corruption. Misplaced Blocks and Lost
Write in ASM
NOTE:9167831.8 - Bug 9167831 - ORA-8103 instead of ORA-1410
NOTE:7519406.8 - Bug 7519406 - Larger trace than needed for ORA-8103 under kteinicnt1
NOTE:7650993.8 - Bug 7650993 - ORA-8103 in a select at ADG standby database from table stored in ASSM
tablespace
NOTE:2333731.8 - Bug 2333731 - ORA-8103 possible in PQ slave
NOTE:2551000.8 - Bug 2551000 - False ORA-1410 / ORA-8103 possible from ANALYZE
COMPUTE/ESTIMATE STATISTICS
NOTE:8876094.8 - Bug 8876094 - ORA-8103 by DBA_UNDO_EXTENTS or
DBMS_SPACE_ADMIN.TABLESPACE_VERIFY on Block type: 0x25
NOTE:1053863.8 - Bug 1053863 - NCR: ORA-8103 / corrupt read possible using async IO
NOTE:6047085.8 - Bug 6047085 - Linux x64-64: SGA corruption / crash following any ORA-7445
NOTE:1283521.8 - Bug 1283521 - ORA-8103 can occur on TRUNCATED cluster table
NOTE:836658.1 - Identify the corruption extension using RMAN/DBV/ANALYZE etc
NOTE:5637976.8 - Bug 5637976 - ORA-8103/ORA-1410 from concurrent INSERT / export on ASSM tables
NOTE:61685.1 - Extracting Data from a Corrupt Table using ROWID Range Scans in Oracle8 and higher
NOTE:8597106.8 - Bug 8597106 - Lost Write in ASM when normal redundancy is used
NOTE:9275027.8 - Bug 9275027 - ORA-600 [kcbnew_3] can occur after TRUNCATE / DROP
NOTE:8725282.8 - Bug 8725282 - Corruption from cross platform transport of tablespace with securefile
objects
NOTE:11850492.8 - Bug 11850492 - ORA-8103 ORA-600 ORA-3113 on temporary tables using INDEX FAST
FULL SCAN and DIRECT read
NOTE:11937253.8 - Bug 11937253 - A Parallel query fails with ORA-8103 on an Active Dataguard
Enviroment.
NOTE:3785200.8 - Bug 3785200 - Corruption possible in automatic space managed segments
NOTE:1527738.1 - SCRIPT to skip ORA-8103 ORA-1410 ORA-1578 ORA-600 [kdsgrp1] when reading a
TABLE
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-state=enhk5u4ed_9...
34/12/17