随笔- 807  文章- 150  评论- 23  阅读- 151万 

什么情况可能使用该参数
   有些时侯可能你的库处于非归档的模式下,而你的联机重做日志又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

 posted on   xibuhaohao  阅读(550)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2020-08-12 PostgreSQL DB与插件下载
2019-08-12 Postgresql 进程和内存结构
2019-08-12 Postgresql 内存分配
2019-08-12 Deepgreen & Greenplum DBA小白普及课之三
2019-08-12 DBA 有哪些工作
2019-08-12 Deepgreen/Greenplum 删除节点步骤
2019-08-12 Greenplum Segment 的检测机制
点击右上角即可分享
微信分享提示