#### <> <> <000000>
ORA-01110: data file 9: '/home/oracle/OraBase/oradata/QAWEB/datafile/o1_mf_wbxobj_l_5tk3oxx2_.dbf'
java.lang.Throwable: ORA-01578: ORACLE data block corrupted (file # 9, block # 130902)
ORA-01110: data file 9: '/home/oracle/OraBase/oradata/QAWEB/datafile/o1_mf_wbxobj_l_5tk3oxx2_.dbf'
Root Cause: The QA DB shutdown abnormally, it causes to oracle data block corrupted.
Solution:
1. Check the invalid and broken object
ORA-01578: ORACLE data block corrupted (file # 7, block # ;)
ORA-01110: data file ;: '/oracle1/oradata/V920/oradata/V816/users01.dbf’
其中,<AFN>代表坏块所在数据文件的绝对文件号,;代表坏块是数据文件上的第几个数据块
出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。
SELECT *
FROM dba_extents
where file_id=9and 130902 between block_id and block_id+blocks-1
2. Drop the Index and rebuild it.
###drop the PK of tables
ALTER TABLE TEST.WBXCUSTOMERENROLLFIELDSVALUE
DROP PRIMARY KEY CASCADE;
###drop the index
DROP INDEX TEST.PK_WBXCUSTENROLLFLDVALUE;
###create the PK of tables and the index will be built automatically.
ALTER TABLE TEST.WBXCUSTOMERENROLLFIELDSVALUE ADD (
CONSTRAINT PK_WBXCUSTENROLLFLDVALUE
PRIMARY KEY
(FIELDID, ATTENDEEID, SITEID)
USING INDEX
TABLESPACE WBXOBJ_LARGE_IDX
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 10M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
));