如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

  [Problem] 包含current的online REDO日志文件全部损坏了。 控制文件,数据文件没有损坏。 用RMAN获得备份。 使用catalog。并以归档日志模式来使用。 通过RMAN来修复的方法。   [To reproduce] 包含current的online REDO日志文件都损坏时,就会发生这样的故障。 。   SVRMGR> alter system switch logfile; ORA-03113: end-of-file on communication channel   Alertファイル: Thu Nov 30 17:46:50 2000 Errors in file /export/home/rman/ora816c/admin/tar816c/bdump/tar816c_lgwr_1880.trc: ORA-00313: open failed for members of log group 3 of thread 1 ORA-00312: online log 3 thread 1: '/export/home/rman/ora816c/oradata/tar816c/redo03.log' ORA-27037: unable to obtain file status SVR4 Error: 2: No such file or directory Additional information: 3 Thu Nov 30 17:46:50 2000 LGWR: terminating instance due to error 313 Instance terminated by LGWR, pid = 1880   因为无法进行日志的switch,LGWR异常终止,实例下降   [Action] 以下是数据库的online REDO日志文件全部损坏时的对策(包含current)。 请大家注意,前提是控制文件,数据文件,归档完成的日志文件都没有损坏。。  
  1. 如果数据库正在运行的话,数据库就会崩溃。
因为online REDO日志文件损坏了,所以一般不会崩溃。 进行shutdown abort。  
  1. 将数据库mount。
SVRMGR> startup mount   3.启动RMAN,连接目标数据库与catalog数据库。 % rman target system/manager@target catalog rman/rman@catalog  
  1. 查看归档日志文件的状况,可以应用的归档日志文件的日志顺序编号。
    Alert文件: Thu Nov 30 17:37:30 2000 Thread 1 advanced to log sequence 15 Current log# 2 seq# 15 mem# 0: /export/home/rman/ora816c/oradata/tar816c/redo02.log Thu Nov 30 17:37:30 2000 ARC0: Beginning to archive log# 1 seq# 14 ARC0: Completed archiving log# 1 seq# 14 Thu Nov 30 17:46:50 2000 Errors in file ....   在发生故障之前,寻找归档完成的部分。通过上述记录,我们可以知道日志序号14之前的日志都玩了归档(现在的日志编号为15)   如果实例为mount状态的话,通过SVRMGR,也可以查看到同样的信息。 SVRMGR> archive log list 数据库日志模式;归档模式 自动归档             可以使用 归档地址            /export/home/rman/ora816c/arch 最旧的online日志顺序编号     14 然后是归档日志顺序编号   15 现有的日志顺序编号           15  
  1. 通过RMAN执行restore recovery。
日志顺序编号 因为我们知道直到14号为止,都完成了归档,应用14号前的日志顺序编号,启动、 因为是不完全恢复,所以需要restore所有数据文件。   执行命令: RMAN> run { 2> allocate channel ch1 type disk; 3> set until logseq 15 thread 1;       ==> チェック(1) 4> restore database; 5> recover database; 6> sql 'alter database open resetlogs'; ==> チェック(2) 7> }   检测项目: (1) 指定恢复到哪个时点为止。 set until logseq 15 thread 1; 请应用到日志顺序编号14为止。 (2) 因为是执行不完全恢复,启动时,需要resetlogs选项。   部分执行日志: RMAN-03022: Compile command: recover   RMAN-03022: Compile command: recover(1)   RMAN-03022: Compile command: recover(2)   RMAN-03022: Compile command: recover(3) RMAN-03023: 実行コマンド: recover(3) RMAN-08054: メディアのリカバリを開始します。   RMAN-03022: Compile command: recover(4) RMAN-06050: 归档日志线程 1、順序 11作为文件 /export/home/rman/or a816c/arch/arch_1_11.arc存在于磁盘中。 RMAN-06050: 归档日志线程 1、順序 12作为文件/export/home/rman/or a816c/arch/arch_1_12.arc存在于磁盘中。 RMAN-06050: 归档日志线程 1、順序 13作为文件/export/home/rman/or a816c/arch/arch_1_13.arc存在于磁盘中。 RMAN-06050: 归档日志线程 1、順序 14作为文件/export/home/rman/or a816c/arch/arch_1_14.arc存在于磁盘中。 RMAN-03023: 执行命令: recover(4) RMAN-08515: 归档日志文件名=/export/home/rman/ora816c/arch/arch_1_11.arc スレッド=1 順序=11 RMAN-08515: 归档日志文件名=/export/home/rman/ora816c/arch/arch_1_12.arc 线程=1 順序=12 RMAN-08515: 归档日志文件名=/export/home/rman/ora816c/arch/arch_1_13.arc 线程=1 順序=13 RMAN-08515: 归档日志文件名=/export/home/rman/ora816c/arch/arch_1_14.arc 线程=1 順序=14 RMAN-08055: 介质恢复完成。   ==> 损坏的online REDO日志文件(順序番号 15号)没有应用。  
  1. 因为添加resetlogs选项启动数据库,恢复日志文件也会通知。
。   RMAN> reset database;  
  1. 为了防御今后的故障,请一定要获得备份。