【oracle11g,11】redo日志文件2 :日志恢复 (重点)
2014-09-10 07:27
274 查看
十.日志文件的恢复:
1.有多个日志成员,删除当前日志组一个成员: 数据库仍能启动,
告警日志中报错找不到日志文件。
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/prod/disk1/redo01.log'
解决:
SQL>alter system switch logfile;
SQL>alter system checkpoint;
SQL> alter database drop logfile member '/u01/app/oracle/oradata/prod/disk1/redo01.log';
SQL> alter database add logfile member '/u01/app/oracle/oradata/prod/disk1/redo01.log'
to group 1;
2.删除inactive非当前日志组的所有成员: 数据库无法启动。
解决方案1:执行clear操作,重新建立空白的日志文件
数据库mount阶段,执行clear
SQL> alter database clear logfile group 4;
SQL> alter database open ;
解决方案2:执行drop操作:
SQL> alter database drop logfile group 4;
3.删除当前日志组的所有成员并且正常关库: 数据库无法启动
由于是正常关库,所以会已经写过脏块了。
oracle 10g 解决:
oracle 10g在恢复当前日志组时,不让clear 或者drop当前的日志组,只能做不完全恢复。
#使用不完全恢复, until cancel:表示应用日志到日志断层的地方。
SQL> recover database until cancel;
#必须使用resetlogs 开库,
SQL> alter database open resetlogs;
oracle 11g解决:
oracle 11g在恢复当前日志组时,可以执行clear 或者drop日志组,因为是正常关库oracle
已经写了脏苦块。
SQL> alter database clear logfile group 2;
#在归档模式下
用alter database clear logfile命令尝试重构logfile group 1,失败;
SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
ERROR at line 1:
ORA-00350: log 1 of instance orcl (thread 1) needs to be archived
ORA-00312: online log 1 thread 1: '/u02/oradata/orcl/redo01.log'
失败的原因是group 1还没有归档,需要加上”unarchived”参数;
SQL> alter database clear unarchived logfile group 1;
Database altered.
建议clear,特别是强行clear后作一次数据库的全备份。
4.删除当前日志组的所有成员并且非正常关库: 数据库无法启动
使用不完全恢复 recover database until cancel 无法恢复。
解决办法:
首选方法:如果有备份可以使用备份恢复,(备份恢复时解决)。
方法2:使用_allow_resetlogs_corruption=true隐藏参数启动数据库,将数据中文件导出,当使用了隐藏参数,数据库完整性被破坏,数据库不能再继续使用,需要建立新的数据库将数据文件导进去。
十一.日志文件的存储管理:
日志文件存储:日志文件很重要,最好使用io最快的磁盘,最好使用阵列。
相关文章推荐
- online redo日志文件损坏恢复
- 【oracle11g,10】redo日志文件1:实例故障和介质故障,日志组的操作,查看日志内容
- oracle11g日志文件恢复
- oracle重做日志文件(REDO)损坏或者丢失的恢复操作
- RMAN备份与恢复系列之redo日志文件恢复
- 无数据库日志文件恢复数据库
- 日志文件满而不慎把数据库日志文件误删除时的恢复步骤
- 无数据库日志文件恢复数据库方法两则
- shutdown abort的情况,恢复全部数据文件(不包括control和redo)
- 旧数据文件,旧控制文件,新日志,怎样恢复?
- shutdown abort的情况,恢复全部控制文件(不包括数据文件和redo)
- 自动恢复MySQL数据库的日志文件思路分享及解决方案
- 教你自动恢复MySQL数据库的日志文件(binlog)
- shutdown immedate,恢复全部数据文件(不包括control和redo)
- 没有备份、只有归档日志,如何恢复数据文件?
- 无数据库日志文件恢复数据库方法两则
- SQL Server非正常删除日志文件(ldf)恢复方法
- 用归档日志恢复丢失的数据文件
- 数据库日志文件丢失时的恢复步骤
- 没有备份、只有归档日志,如何恢复数据文件?