Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 联机重做日志文件恢复(redo log)

非当前联机日志文件故障恢复1.启动数据库时遇到ORA-00313,ORA-00312错误。ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: "/home/Oracle/oradata/s1/redo01.log"2.查看v$log视图。SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 11 52428800 1 YES INACTIVE 489912 09-NOV-12
3 1 10 52428800 1 YES INACTIVE 488868 08-NOV-12
2 1 12 52428800 1 NO CURRENT 519028 11-NOV-123.用clear命令重建该日志文件如果该日志文件已经归档则:
SQL> alter database clear logfile group 1;Database altered.如果该日志文件还没有归档则:
SQL> alter database clear unarchived logfile group 3;Database altered.4.打开数据库,重新备份数据库(建议clear,特别是clear unarchived后做一次全备份)
SQL> alter database open;Database altered.当前联机日志文件故障恢复归档模式下,当前日志文件损坏有两种情况一、数据库正常关闭,日志文件中没有解决的事务要实例恢复,当前日志组的损坏可直接用户
alter database clear unarchived logfile group n来重建
二、日志文件中有活动事物,数据库需要介质恢复,有两种补救方法
a、在归档模式下,有可用备份
b、无可用备份,通过强制性恢复,但可能会导致数据库不一致a.在归档模式下有可用备份(不完全恢复)
1.1.启动数据库时报错,并用v$log查看
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: "/home/oracle/oradata/s1/redo01.log"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3SQL> select * from v$log;GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 16 52428800 1 NO CURRENT 520744 11-NOV-12
2 1 15 52428800 1 YES ACTIVE 520712 11-NOV-12
3 1 14 52428800 1 YES INACTIVE 520705 11-NOV-12
2.试用clear恢复SQL> alter database clear logfile group 1;SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of instance s1 (thread 1)
ORA-00312: online log 1 thread 1: "/home/oracle/oradata/s1/redo01.log"3.执行recover database until cancel先用户auto后用cancel,报错如下:
SQL> recover database until cancel;
ORA-00279: change 520744 generated at 11/11/2012 22:43:39 needed for thread 1
ORA-00289: suggestion : /archive1/1_16_798842981.dbf
ORA-00280: change 520744 for thread 1 is in sequence #16
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log "/archive1/1_16_798842981.dbf"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log "/archive1/1_16_798842981.dbf"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
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: "/home/oracle/oradata/s1/system01.dbf"SQL> recover database until cancel;
ORA-00279: change 520744 generated at 11/11/2012 22:43:39 needed for thread 1
ORA-00289: suggestion : /archive1/1_16_798842981.dbf
ORA-00280: change 520744 for thread 1 is in sequence #16
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: "/home/oracle/oradata/s1/system01.dbf"
ORA-01112: media recovery not started4.在rman下restore database;
RMAN> restore database;5.在rman下recover database:报错如下:
RMAN> recover database;Starting recover at 11-NOV-12
using channel ORA_DISK_1starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 11/11/2012 22:54:15
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
start
ORA-00283: recovery session canceled due to errors
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: "/home/oracle/oradata/s1/redo01.log"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 36.使用recover database until cancel;先auto后cancel恢复
SQL> recover database until cancel;
ORA-00279: change 520744 generated at 11/11/2012 22:43:39 needed for thread 1
ORA-00289: suggestion : /archive1/1_16_798842981.dbf
ORA-00280: change 520744 for thread 1 is in sequence #16
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log "/archive1/1_16_798842981.dbf"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log "/archive1/1_16_798842981.dbf"
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3SQL> recover database until cancel;
ORA-00279: change 520744 generated at 11/11/2012 22:43:39 needed for thread 1
ORA-00289: suggestion : /archive1/1_16_798842981.dbf
ORA-00280: change 520744 for thread 1 is in sequence #16
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.7,使用resetlogs打开数据库
SQL> alter database open resetlogs;Database altered.8.做数据库全备份
  • 1
  • 2
  • 下一页
Oracle 生成和显示执行计划的方法解读Oracle执行计划相关资讯      Oracle重做日志  Oracle Redo Log  redo log  联机重做日志 
  • Oracle 11g的Redo Log和Archive   (昨 06:56)
  • 管理REDO LOG记录  (07/20/2015 20:58:10)
  • Oracle重做日志  (09/24/2014 19:29:48)
  • archive log文件大小与redo log文  (07/23/2015 16:50:33)
  • Oracle Redo log 重做日志  (02/24/2015 20:41:56)
  • Oracle Redo Log 机制 小结  (09/24/2014 19:26:22)
本文评论 查看全部评论 (0)
表情: 姓名: 字数