7 x 24 在线支持!
Oracle Error ORA-01578 On COL_USAGE$
SYMPTOMS
Following error reported in alert log file
ORA-01578: ORACLE data block corrupted (file # 1, block # 4115)
ORA-01110: data file 1: '/u03/pad/oradata/pad_system01.dbf'
Following corruption message may be found in alert log file:
Corrupt Block Found
TSN = 0, TSNAME = SYSTEM
RFN = 1, BLK = 4115, RDBA = 4198421
OBJN = 517, OBJD = 517, OBJECT = COL_USAGE$, SUBOBJECT =
SEGMENT OWNER = SYS, SEGMENT TYPE = Table Segment
OR
Query dba_extents
SQL> SELECT segment_name , segment_type , owner , tablespace_name FROM sys.dba_extents
WHERE file_id = 1 AND 4115 BETWEEN block_id and block_id + blocks-1
SEGMENT_NAME SEGMENT_TYPE OWNER TABLESPACE_NAME
--------------------- --------------- ---------- -------------------------
COL_USAGE$ TABLE SYS SYSTEM
CAUSE
The error ORA-01578 is due to block corruption on SYS owned table COL_USAGE$
The best option in this case (as for any physical corruption) would be to restore/recover system tablespace.
The unpublished Bug 3718589 shows the following steps to workaround the corruption.