DB笔试面试225在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?

Posted DB宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB笔试面试225在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?相关的知识,希望对你有一定的参考价值。


【DB笔试面试225】在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?



Q
题目如下所示:

在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?


     

A
答案如下所示:



答案:联机Redo日志是Oracle数据库中比较核心的文件,当联机Redo日志文件异常之后,数据库就无法正常启动,而且有丢失数据的风险,强烈建议在条件允许的情况下,对联机Redo日志进行多路镜像。需要注意的是,RMAN不能备份联机Redo日志文件。所以,联机Redo日志一旦出现故障,则只能进行清除日志了。清除日志文件即表明可以重用该文件。如果日志文件已经归档状态为INACTIVE,启动报ORA-00327错误,那么可以使用:

ALTER DATABASE CLEAR LOGFILE GROUP N;

如果数据库正常关闭,且该日志还没有归档状态为ACTIVECURRENT,启动报ORA-01623错误,那么需要用:

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP N;--不需要数据文件

ALTER DATABASE CLEAR UNARCHIVED LOGFILE ...UNRECOVERABLE DATAFILE; --需要数据文件

也可以尝试以下恢复

--ALTER DATABASE CLEAR LOGFILE GROUP 1;

RECOVER DATABASE UNTIL CANCEL;

ALTER DATABASE OPEN RESETLOGS;

如果数据库异常关闭状态为ACTIVECURRENT,启动报ORA-01624ORA-01194错误那么一般不能执行CLEAR,而且可能意味着丢失数据一般情况下只能设置隐含参数_ALLOW_RESETLOGS_CORRUPTION=TRUE”来进行强制执行不完全恢复了,如下所示:

alter system set "_allow_resetlogs_corruption"=true scope=spfile;

recover database until cancel; --cancel

alter database open resetlogs;

alter system set "_allow_resetlogs_corruption"=false scope=spfile;

alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';

shutdown immediate

startup

可以使用以下命令查看联机Redo日志的状态:

col member for a45

set lines 120

SELECT thread#,

         a.sequence#,

         a.group#,

         TO_CHAR (first_change#, '9999999999999999') "SCN",

         a.status,

         MEMBER

    FROM v$log a, v$logfile b

   WHERE a.group# = B.GROUP#

ORDER BY a.sequence# DESC;



& 说明:

有关联机Redo日志文件的恢复更多内容可以参考我的BLOGhttp://blog.itpub.net/26736162/viewspace-2141732/


【DB笔试面试225】在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?


DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

【DB笔试面试225】在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?

About Me:小麦苗

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

【DB笔试面试225】在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?

以上是关于DB笔试面试225在Oracle中,如果联机Redo日志文件损坏,那么如何恢复?的主要内容,如果未能解决你的问题,请参考以下文章

DB笔试面试389在Oracle中,什么是绑定变量窥探?

DB笔试面试390Oracle的外部表是什么?

DB笔试面试164在Oracle中,如何彻底停止expdp数据泵进程?

DB笔试面试202在Oracle中,怎样清除V$ARCHIVED_LOG视图中的过期信息?

DB笔试面试275 有关shell脚本的一些题目

面试题: 数据库笔试 sql操作 未看5