联系:手机/微信(+86 17813235971) QQ(107644445)
标题:obet处理ORA-704 ORA-604 ORA-1578故障
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
有客户数据库启动报ORA-704 ORA-604 ORA-1578错误,导致启动失败

alert日志报错
Fri Feb 06 23:38:43 2026 SMON: enabling cache recovery Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_239325.trc (incident=1008437): ORA-01578: ORACLE data block corrupted (file # 1, block # 241) ORA-01110: data file 1: '+DATADG/orcl/datafile/system.270.1015415183' Fri Feb 06 23:38:46 2026 Redo thread 2 internally disabled at seq 6 (CKPT) Archived Log entry 182212 added for thread 2 sequence 5 ID 0xd68b4385 dest 1: ARC0: Archiving disabled thread 2 sequence 6 Archived Log entry 182213 added for thread 2 sequence 6 ID 0xd68b4385 dest 1: Thread 1 advanced to log sequence 9 (LGWR switch) Current log# 1 seq# 9 mem# 0: +DATADG/orcl/onlinelog/group_1.302.1223816761 Current log# 1 seq# 9 mem# 1: +ARCHDG/orcl/onlinelog/group_1.257.1223816761 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_239325.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-01578: ORACLE data block corrupted (file # 1, block # 241) ORA-01110: data file 1: '+DATADG/orcl/datafile/system.270.1015415183' Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_ora_239325.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00604: error occurred at recursive SQL level 1 ORA-01578: ORACLE data block corrupted (file # 1, block # 241) ORA-01110: data file 1: '+DATADG/orcl/datafile/system.270.1015415183' Error 704 happened during db open, shutting down database USER (ospid: 239325): terminating the instance due to error 704 Fri Feb 06 23:38:48 2026 Instance terminated by USER, pid = 239325 ORA-1092 signalled during: alter database open... opiodr aborting process unknown ospid (239325) as a result of ORA-1092 Fri Feb 06 23:38:48 2026 ORA-1092 : opitsk aborting process
对system文件进行dbv检测(客户通过asmcmd cp命令拷贝出来system文件)
DBVERIFY - Verification starting : FILE = /asm_backup/orcl/datafile/SYSTEM.270.1015415183 DBV-00200: Block, DBA 4194545, already marked corrupt csc(0x0006.d75a0ed7) higher than block scn(0x0000.00000000) Page 241 failed with check code 6054 DBV-00200: Block, DBA 4306619, already marked corrupt csc(0x0006.d75a14f4) higher than block scn(0x0000.00000000) Page 112315 failed with check code 6054 DBVERIFY - Verification complete Total Pages Examined : 738560 Total Pages Processed (Data) : 424109 Total Pages Failing (Data) : 1 Total Pages Processed (Index): 287403 Total Pages Failing (Index): 1 Total Pages Processed (Other): 3408 Total Pages Processed (Seg) : 1 Total Pages Failing (Seg) : 0 Total Pages Empty : 23640 Total Pages Marked Corrupt : 2 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 3613010282 (6.3613010282)
这里可以看到有两个block被标记为坏块原因是由于:csc(0×0006.d75a0ed7) higher than block scn(0×0000.00000000),坏块错误代码为:Page 241 failed with check code 6054.这种问题的原因是由于block的scn小于数据块的csc(一般是由于写丢失导致),对于这个问题,最近在obet中刚刚增加了repair blkscn功能进行修复,具体参考:obet修复csc higher than block scn类型坏块,使用工具修复操作(其他block类似修改)
OBET> set filename /datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
filename set to: /datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
OBET> set block 241
block set to: 241
OBET> backup
Created backup directory: backup_blk
Successfully backed up current block from current file to
/tmp/backup_blk/SYSTEM.270.1015415183_241.20260209122822
OBET> repair blkscn
Repairing SCN for block 241...
Current block SCN information:
scn_base: 0x00000000 (0)
scn_wrap: 0x0000 (0)
Block 1 reference information:
hdr_base: 0xD75FF65E (3613390430)
hdr_wrap: 0x0006 (6)
Current block CSC information:
csc_base: 0xD75A0ED7 (3613003479)
csc_wrap: 0x0006 (6)
Calculated values:
blkcsc: 29382807255 (0x00000006D75A0ED7)
blkscn: 0 (0x0000000000000000)
blkscn < blkcsc, SCN repair required.
SCN repair requires edit mode.
Please enable edit mode with 'set mode edit' first.
OBET> set mode edit
mode set to: edit
OBET> repair blkscn
Repairing SCN for block 241...
Current block SCN information:
scn_base: 0x00000000 (0)
scn_wrap: 0x0000 (0)
Block 1 reference information:
hdr_base: 0xD75FF65E (3613390430)
hdr_wrap: 0x0006 (6)
Current block CSC information:
csc_base: 0xD75A0ED7 (3613003479)
csc_wrap: 0x0006 (6)
Calculated values:
blkcsc: 29382807255 (0x00000006D75A0ED7)
blkscn: 0 (0x0000000000000000)
blkscn < blkcsc, SCN repair required.
New SCN values to write:
new_scn_base: 0xD75FF65D (3613390429)
new_scn_wrap: 0x0006 (6)
Confirm SCN repair operations:
File: /datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
Block: 241
Operations:
1. Write new scn_base (0xD75FF65D)
2. Write new scn_wrap (0x0006)
3. Fix seq_kcbh (0xFF -> 0x01)
Confirm? (Y/YES to proceed): y
[Undo information saved - use 'undo' command to restore original values]
Verification after SCN repair:
1. scn_base: 5DF65FD7 (expected: 5DF65FD7)
2. scn_wrap: 0600 (expected: 0600)
3. seq_kcbh: 0x01 OK
Block 241 SCN repair completed successfully.
Execute tailchk apply and sum apply for this block.
OBET> tailchk apply
Confirm applying tailchk:
File: /datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
Block: 241
Offset in block: 8188 (file offset: 0x001E3FFC)
Original value: 0xFF060000
New value: 0x01065DF6
Confirm? (Y/YES to proceed): y
Verification successful: Stored tailchk matches calculated value (0x01065DF6).
Tailchk applied successfully.
OBET> sum apply
Confirm applying checksum:
File: /datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
Block: 241
Offset in block: 16 (file offset: 0x001E2010)
Original value: 0x7330
New value: 0x2AE7
Confirm? (Y/YES to proceed): y
Verification successful: Stored checksum matches calculated value (0x2AE7).
Checksum applied successfully.
然后dbv检查数据文件
[oracle@db4 tmp]$ dbv file=/datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
DBVERIFY: Release 11.2.0.4.0 - Production on Mon Feb 9 20:37:54 2026
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE =
/datapool/asm_backup/orcl/datafile/SYSTEM.270.1015415183
DBVERIFY - Verification complete
Total Pages Examined : 738560
Total Pages Processed (Data) : 424109
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 287403
Total Pages Failing (Index): 1
Total Pages Processed (Other): 3408
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 23640
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 3613451063 (6.3613451063)
然后直接顺利打开数据库
SQL> alter database open; Database altered.
由于该库在我接手之前已经做了大量的强制拉库等各种恢复尝试,因此对该库做逻辑导出,导入新库完成本次恢复任务