重做联机日志文件

联机日志文件都不存在的情况:
(1). sqlplus /nolog
(2). conn / as sysdba;
(3). startup;
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
(4). startup mount;
(5). 通过v$log视图确定哪些是当前联机日志和非当前联机日志
     SQL> select * from v$log; (current为当前联机日志)
(6). 通过Clear方式恢复非当前联机日志group 2 和group 3
     SQL> alter database clear logfile group 2; (如果是该日志组还没有归档:alter database clear unarchived logfile group 2;)
     SQL> alter database clear logfile group 3; (如果是该日志组还没有归档:alter database clear unarchived logfile group 3;)
(7). 恢复当前联机日志 group 1,先演示确认一下通过clear的方式无法恢复当前联机日志
     SQL> alter database clear logfile group 1; (报错)
(8). 设置隐含参数_allow_resetlogs_corruption为“TRUE”
     SQL> create pfile from spfile;
     SQL> shutdown immediate;
     在生成的pfile(对应文件是D:\oracle\product\10.2.0\db_1\database\INITorcl.ORA)最后一行添加如下内容,保存退出
   _allow_resetlogs_corruption=TRUE
     使用pfile启动数据库到mount状态
     SQL> startup mount pfile=D:\oracle\product\10.2.0\db_1\database\INITorcl.ORA;
(9). 利用until cancel进行恢复
     SQL> recover database until cancel;
(10). resetlogs方式打开数据库
     SQL> alter database open resetlogs;
     这时在日志文件所在的目录中就可以看到被恢复出来的当前联机日志REDO01.LOG
(10). 恢复过程完成
    后续任务一:进行全库的EXP备份
    C:\>exp system/system file=exp_full_backup.dmf log=exp_full_backup.log full=y
    后续任务二:取消隐含参数_all_resetlogs_corrupt
    后续任务三:重建数据库
    后续任务四:使用IMP将刚刚备份的文件导入到数据库中
    后续任务五:检查并处理掉无效的对象

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21070542/viewspace-607548/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21070542/viewspace-607548/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值