Event: 10231
Text: skip corrupted blocks on _table_scans_
-------------------------------------------------------------------------------
Cause:
Action: Corrupt blocks are skipped in table scans, and listed in trace files.
Explanation:
This is NOT an error but is a special EVENT code.
It should *NOT* be used unless explicitly requested by ST support.
8.1 onwards:
~~~~~~~~~~~~
The "7.2 onwards" notes below still apply but in Oracle8i
there is a PL/SQL <Package:DBMS_REPAIR> which can be used
to check corrupt blocks. See <DocIndex:DBMS_REPAIR>.
It is possible to simulate 10231 on a table using
DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('schema','table').
The SKIP_CORRUPT column of DBA_TABLES shows tables which
have been marked to allow skipping of corrupt blocks.
7.2 onwards:
~~~~~~~~~~~~
Event 10231 causes SOFTWARE CORRUPT or MEDIA corrupt blocks
to be skipped on FULL TABLE SCANS only. (E.g: on export)
Software corrupt blocks are defined below. Media corrupt
blocks are Oracle blocks where the header field information
is not what was expected. These can now be skipped with
the 10231 event.
Before 7.2:
~~~~~~~~~~~
Event 10231 causes SOFTWARE CORRUPT blocks to be skipped on
FULL TABLE SCANS only. (E.g: on export).
A 'software corrupt' block is a block that has a SEQ number of ZERO.
This raises an ORA-1578 error.
NB: Blocks may be internally corrupt and still cause problems or
raise ORA-1578. If a block is physically corrupt and the SEQ
is not set to ZERO, you cannot use 10231 to skip it. You have
to try to scan around the block instead.
To manually corrupt a block and cause it to be skipped you
must: Set SEQ to ZERO.
Set the INCSEQ at the end of the block to match.
You can set event numbers 10210, 10211, and 10212 to check blocks
at the data level and mark them software corrupt if they are found
to be corrupt. You CANNOT use these events to mark a physically
corrupt block as software corrupt because the block never reaches
the data layer.
When a block is skipped, any data in the block is totally ignored.
Usage: Event="10231 trace name context forever, level 10".
This should be removed from the instance parameters immediately after
it has been used.
Alternatively it can be set at session level:
alter session set events '10231 trace name context forever, level 10'
@Articles:
@ Customer FAX Explaining How to Use Event 10231 Note 33405.1
@ Data, Index & Cluster Block <Event:10210><Event:10211><Event:10212>
@ Skip Blocks on Index Range Scan <Event:10233>
@ Physical Oracle Data Block Layout Note 33242.1
本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1276693