联系:手机/微信(+86 17813235971) QQ(107644445)
标题:ORA-00227: corrupt block detected in control file
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
由于服务器断电,导致oracle数据库无法正常启动,recover报ORA-00353 ORA-00312错
SQL> recover datafile 1; ORA-00283: recovery session canceled due to errors ORA-00368: checksum error in redo log block ORA-00353: log corruption near block 8 change 237896529 time 12/03/2024 22:03:32 ORA-00312: online log 1 thread 1: 'E:\ORADATA\xifenfei\REDO01.LOG'
报错提示比较明显,是由于oracle恢复需要的redo损坏,导致无法进行正常恢复,这种情况下,只能尝试强制打开库
SQL> recover database until cancel; ORA-00279: change 237857808 generated at 12/03/2024 07:06:31 needed for thread 1 ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0.3\DB_1\RDBMS\ARC20892_0929553713.001 ORA-00280: change 237857808 for thread 1 is in sequence #20892 Specify log: {<RET>=suggested | filename | AUTO | CANCEL} cancel ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent ORA-01110: data file 1: 'E:\ORADATA\xifenfei\SYSTEM01.DBF' ORA-01112: media recovery not started SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced
对于这种ORA-01092错误,需要查看alert日志确认具体报错原因
Tue Dec 17 22:03:59 2024 alter database open resetlogs RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated. RESETLOGS after incomplete recovery UNTIL CHANGE 237857808 Resetting resetlogs activation ID 2015910641 (0x78285af1) Tue Dec 17 22:04:00 2024 Setting recovery target incarnation to 2 Tue Dec 17 22:04:00 2024 Advancing SCN to 16106127360 according to _minimum_giga_scn Tue Dec 17 22:04:00 2024 Assigning activation ID 2274407914 (0x8790b5ea) Thread 1 opened at log sequence 1 Current log# 1 seq# 1 mem# 0: E:\ORADATA\xifenfei\REDO01.LOG Successful open of redo thread 1 Tue Dec 17 22:04:01 2024 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Tue Dec 17 22:04:01 2024 SMON: enabling cache recovery Tue Dec 17 22:04:01 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\udump\xifenfei_ora_816.trc: ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option Tue Dec 17 22:04:01 2024 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Tue Dec 17 22:04:01 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_pmon_2472.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:01 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_reco_2576.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:01 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_smon_2584.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_ckpt_2216.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_lgwr_1556.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_dbw0_1528.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_psp0_2896.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_mman_904.trc: ORA-00704: bootstrap process failure Tue Dec 17 22:04:02 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_dbw1_1732.trc: ORA-00704: bootstrap process failure Instance terminated by USER, pid = 816 ORA-1092 signalled during: alter database open resetlogs...
由于对oracle粗心对于oracle版本判断失误,导致打开数据库失败,使用正确版本打开数据库发现ctl有报错,导致打开依旧失败(这种错误一般比较少见,大部分ctl异常都是在oracle mount状态无法成功)
Tue Dec 17 22:10:48 2024 Recovery of Online Redo Log: Thread 1 Group 1 Seq 1 Reading mem 0 Mem# 0: E:\ORADATA\xifenfei\REDO01.LOG Tue Dec 17 22:10:48 2024 Completed redo application Tue Dec 17 22:10:48 2024 Completed crash recovery at Thread 1: logseq 1, block 3, scn 16106147363 0 data blocks read, 0 data blocks written, 1 redo blocks read Tue Dec 17 22:10:48 2024 Read from controlfile member 'E:\ORADATA\xifenfei\CONTROL01.CTL' has found a corrupted block (blk# 432, seq# 132194) Hex dump of (file 0, block 432) in trace file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_lgwr_2728.trc Corrupt block relative dba: 0x000001b0 (file 0, block 432) Fractured block found during control file block read Data in bad block: type: 0 format: 0 rdba: 0x00000000 last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x03e71501 check value in block header: 0x0 block checksum disabled Hex dump of (file 0, block 432) in trace file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_lgwr_2728.trc Corrupt block relative dba: 0x000001b0 (file 0, block 432) Fractured block found during control file block read Data in bad block: type: 0 format: 0 rdba: 0x00000000 last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x03e71501 check value in block header: 0x0 block checksum disabled Tue Dec 17 22:10:48 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_lgwr_2728.trc: ORA-00202: control file: 'E:\ORADATA\xifenfei\CONTROL01.CTL' Tue Dec 17 22:10:48 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_lgwr_2728.trc: ORA-00227: corrupt block detected in control file: (block 432, # blocks 1) ORA-00202: control file: 'E:\ORADATA\xifenfei\CONTROL01.CTL' LGWR: terminating instance due to error 227 Tue Dec 17 22:10:48 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_pmon_2056.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_dbw0_1636.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_reco_2468.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_smon_2996.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_ckpt_2292.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_dbw1_508.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_mman_1728.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Tue Dec 17 22:10:49 2024 Errors in file c:\oracle\product\10.2.0\admin\xifenfei\bdump\xifenfei_psp0_1724.trc: ORA-00227: corrupt block detected in control file: (block , # blocks ) Instance terminated by LGWR, pid = 2728
重建ctl,打开数据库成功,导出数据,完成本次恢复任务