ORA-00354: 损坏重做日志块标头,因为日志文件有坏块导致Oracle数据库无法open,如何解决?不要网络抄答案

今天启动本地Oracle数据库发现如下报错:
ORA-00354: 损坏重做日志块标头
ORA-00353: 日志损坏接近块 35696 更改 12913198 时间 04/12/2020 08:27:58
ORA-00312: 联机日志 1 线程 1: 'D:\APP\HENRY\ORADATA\ORACLE11G\REDO01.LOG'
,网上也搜了很多解决办法,但是都不好使。有没有实用的解决方案?  不想重建数据库

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER IS_

3 ONLINE D:\APP\HENRY\ORADATA\ORACLE11G\REDO03.LOG NO

2 ONLINE D:\APP\HENRY\ORADATA\ORACLE11G\REDO02.LOG NO

1 ONLINE D:\APP\HENRY\ORADATA\ORACLE11G\REDO01.LOG NO

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME

1 1 658 52428800 512 1 NO ACTIVE 12905266 12-4月 -20 12915126 12-4月 -20

3 1 657 52428800 512 1 NO INACTIVE 12879320 11-4月 -20 12905266 12-4月 -20

2 1 659 52428800 512 1 NO CURRENT 12915126 12-4月 -20 2.8147E+14

参与11

2同行回答

zhuqibszhuqibs  软件开发工程师 , Adidas
典型的在线日志文件损坏(1)在oracle中,只要数据文件,在线日志和归档日志,这两者有一个是完好的,都能恢复出来;(2)首先,必须你的数据文件是完好的,也只能恢复到你数据文件的scn,日志全部不能要了;(3)其次,重建控制文件,希望你的控制文件有trace备份;(4)再次,create controlfile,重建控制文件,res...显示全部

典型的在线日志文件损坏
(1)在oracle中,只要数据文件,在线日志和归档日志,这两者有一个是完好的,都能恢复出来;
(2)首先,必须你的数据文件是完好的,也只能恢复到你数据文件的scn,日志全部不能要了;
(3)其次,重建控制文件,希望你的控制文件有trace备份;
(4)再次,create controlfile,重建控制文件,reset logfiles;
(5)将数据库resetlogs方式打开,注意,这必然是有数据损失的。

收起
互联网服务 · 2020-04-13
浏览2820
hufeng719hufeng719  系统工程师 , 某钢铁企业
我也不知道怎么处理瞎捣鼓好了:不完全恢复 先加入隐含参数SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile ;系统已更改。SQL> alter system set "_allow_terminal_recovery_corruption"=true scope=spfile ;系统已更改。SQL> shutdown...显示全部

我也不知道怎么处理瞎捣鼓好了:
不完全恢复 

先加入隐含参数

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile ;

系统已更改。

SQL> alter system set "_allow_terminal_recovery_corruption"=true scope=spfile ;

系统已更改。

SQL> shutdown abort ;

ORACLE 例程已经关闭。

SQL> startup mount
ORACLE 例程已经启动。
 
Total System Global Area 6764429312 bytes
Fixed Size                  2188568 bytes
Variable Size            3875539688 bytes
Database Buffers         2868903936 bytes
Redo Buffers               17797120 bytes
数据库装载完毕。
SQL> recover database until cancel;
ORA-00279: 更改 12905266 (在 04/12/2020 06:00:06 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\APP\HENRY\FLASH_RECOVERY_AREA\ORACLE11G\ARCHIVELOG\2020_04_13\O1_MF_1_658_%U_.ARC
ORA-00280: 更改 12905266 (用于线程 1) 在序列 #658 中
 
 
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-10879: error signaled in parallel recovery slave
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: 'D:\APP\HENRY\ORADATA\ORACLE11G\SYSTEM01.DBF'
 
 
SQL> recover database until cancel;
ORA-00279: 更改 12905266 (在 04/12/2020 06:00:06 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\APP\HENRY\FLASH_RECOVERY_AREA\ORACLE11G\ARCHIVELOG\2020_04_13\O1_MF_1_658_%U_.ARC
ORA-00280: 更改 12905266 (用于线程 1) 在序列 #658 中
 
 
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log 'D:\APP\HENRY\FLASH_RECOVERY_AREA\ORACLE11G\ARCHIVELOG\2020_04_13\O1_MF_1_658_%U_.ARC'
ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
 
 
ORA-00308: cannot open archived log 'D:\APP\HENRY\FLASH_RECOVERY_AREA\ORACLE11G\ARCHIVELOG\2020_04_13\O1_MF_1_658_%U_.ARC'
ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
 
 
ORA-10879: error signaled in parallel recovery slave
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: 'D:\APP\HENRY\ORADATA\ORACLE11G\SYSTEM01.DBF'
 
 
SQL> recover database until cancel;
ORA-00275: 已经开始介质恢复
 
 
SQL> recover database until cancel;
ORA-00275: 已经开始介质恢复
 

SQL> alter database open resetlogs ;
alter database open resetlogs
*
第 1 行出现错误:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [0], [12907363], [0], [12912894], [12583040], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [0], [12907362], [0], [12912894], [12583040], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [12907360], [0], [12912894], [12583040], [], [], [], [], [], []
进程 ID: 9724
会话 ID: 127 序列号: 3
 

重启Oracle服务重新开启终端连接数据库   启动数据库

收起
能源采矿 · 2020-04-14
浏览4483

提问者

hufeng719
系统工程师某钢铁企业
擅长领域: 数据库存储服务器

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-04-13
  • 关注会员:2 人
  • 问题浏览:5650
  • 最近回答:2020-04-14
  • X社区推广