ITPub博客

首页 > 数据库 > Oracle > 非归档下日志文件丢失的处理办法

非归档下日志文件丢失的处理办法

原创 Oracle 作者:gholay 时间:2014-03-14 16:23:39 0 删除 编辑
日志文件在非归档模式下丢失怎么办?


模拟删除:
rm /u01/oracle/oradata/orcl/redo* -rf

第一步:
全备数据文件,控制文件,spfile or pfile
(因为如果恢复不过来,可以还原最初数据库的状态让别人来恢复)

第二步:
想办法使用resetlogs让数据库open

仅仅只是丢了日志文件 ,数据文件和控制文件并没有丢失。
只需要resetlogs.

但resetlogs只能在不完全恢复的时候用。
此时要用
recover database using backup controlfile ;
只敲回车。执行完毕 。

然后再去执行alter database open resetlogs ;
这时候会报错需要一致性验证。



第三步:
如果需要验证数据一致性则使用隐藏参数 _allow_resetlogs_corruption=true

此时可以用下面命令来取消控制 文件的一致性验证。
alter system set "_allow_resetlogs_corruption"=true scope=spfile ;
然后startup force mount.


第四步:
open过后, 把_allow_resetlogs_corruption参数取消。

show parameter _allow
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*' ;
shutdown immediate  -- 修改之后需要重新启动数据库。

隐藏参数如果没有关闭,会产生ORA-600错误,使用了之后 一定要关掉。

这时候日志文件就自动生成了。可以通过下面的命令查询恢复后的日志文件 。
SQL> ho ls /u01/oracle/oradata/orcl/redo*  






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

请登录后发表评论 登录
全部评论

注册时间:2013-12-28

  • 博文量
    82
  • 访问量
    652963