zoukankan      html  css  js  c++  java
  • ORACLE 日志损坏 使用"_ALLOW_RESETLOGS_CORRUPTION"进行崩溃恢复

    什么情况可能使用该参数
       有些时侯可能你的库处于非归档的模式下,而你的联机重做日志又currupted,你的数据文件不能完成完全的恢复。

               而这时当你试图打开数据库时,oracle提示你用resetlogs选项,当你使用该选项时oracle又不允许你使用该选项,总之你想打开数据库,可就是打不开。
      
      1、最好做一个物理的库的全备
      
      2、使用sqlplus 启动库至mount
       sqlplus /nolog
       sql>connect internal
       sql>startup mount
      3、确保所有的数据文件都处于"END BACKUP"状态
       sql>set pages 0 feedback off lines 132
       sql>spool alter_df.sql
       sql>SELECT 'alter database datafile '||file_name||' END BACKUP;' from v$datafile;
       sql>spool off
       sql>@alter_df.sql
      4、试着打开数据库
       sql>alter database open;
       如数据库成功打开,余下的都不需要做了,到此为止
      5、如果你在打开时被要求进行恢复,使用"UNTIL CANCEL"这种进行恢复,然后再发出ALTER DATABASE OPEN RESETLOGS这个命令
       sql>recover database until cancel;
       sql>alter database open resetlogs;
      6、如果数据库仍不能打开,把库down掉
       sql>shutdown immediate
      7、在init.ora中加入如下参数
       _allow_resetlogs_corruption=TRUE
      8、执行如下语句
       sql>connect internal
       sql>startup mount
       sql>@alter_df.sql
       sql>alter database open
      9、如在alter database open时仍旧报错,使用until cancel恢复
       sql>recover database until cancel;
       sql>alter database open resetlogs;
      10、经过"9",数据库一定被打开了,数据库被打开后,马上执行一个full export
      11、down掉库,去掉_all_resetlogs_corrupt参数
      12、重建库
      13、import并完成恢复
      14、建议执行一下ANALYZE TABLE ...VALIDATE STRUCTURE CASCADE;


    原文链接:https://blog.csdn.net/lively1982/article/details/18267241

  • 相关阅读:
    Android 沉浸式状态栏的三种实现方式
    大数据量高并发访问的数据库优化方法(一)
    Spring Boot实战:集成Swagger2
    JVM学习之GC常用算法
    java并发面试题
    Java面试处理高并发
    jedis操作redis的几种常见方式总结
    彻底理解数据库事物
    Java集合——HashMap、HashTable以及ConCurrentHashMap异同比较
    HashMap的工作原理
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/15132899.html
Copyright © 2011-2022 走看看