Block corruption problem in alert and rman/dbv no show errors
jalmsuSep 27 2012 — edited Sep 28 2012Hello, I'm new in Oracle's world. I have one problem with Oracle 10.2.0.4 (RHEL 5.6) x64. Archive redo-log enable
In the alert.log, three days ago show (the server have kernel panic & rebooted):
Mon Sep 24 18:18:17 2012
Hex dump of (file 17, block 669888) in trace file xxxxxxxxxx.trc
Corrupt block relative dba: 0x044a38c0 (file 17, block 669888)
Bad check value found during buffer read
Data in bad block:
type: 6 format: 2 rdba: 0x044a38c0
last change scn: 0x0000.14eb5309 seq: 0x1 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x53090601
check value in block header: 0x6ea3
computed block checksum: 0x2
Reread of rdba: 0x044a38c0 (file 17, block 669888) found same corrupted data
Mon Sep 24 18:18:19 2012
Corrupt Block Found
TSN = 23, TSNAME = TABLE_TSD1
RFN = 17, BLK = 669888, RDBA = 71973056
OBJN = 86908, OBJD = 86908, OBJECT = SYS_C0040110, SUBOBJECT =
SEGMENT OWNER = SCHEMA1, SEGMENT TYPE = Index Segment
Yesterday, we detected this error because SQL don't execute.
The error repeat 47times and there is 6 different file-block combination (4 index of schemas, 1 of sys and ยก2 tables!)
First, I launched expdp and exp of the one problematic schema. The export was fine, no errors while exporting, but in the alert.log show one block corruption. Should exp and expd show error and stop?
Next, I used dbv and verify all dbfs. Only show 2 blocks error in two datafiles (indexes).
Next, I used RMAN:
A) check database: no error.
B) validate database: error in two blocks (logical error) and different from the 6 in alert.log. This two blocks are indexes.
I re-create this two indexes. When i re-create, the block error disappear (not inmediate, suppose that disappear when block was rewrite). Now dbv and rman show no error.
I have read one note about types of error, other about procedures if db is in archivelog/noarchivelog. Also if object is index or table. But I find anything about auto-repair corrupt blocks in Oracle or why now the 6 block error are solved. I don't know if two tables with two block corrupt lost rows or not.
Appreciate any help.
Regards