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同行回答

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
浏览4551

提问者

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

相关问题

相关资料

相关文章

问题状态

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