ITPub博客

首页 > IT基础架构 > 网络安全 > 使用未写入文档参数"_ALLOW_RESETLOGS_CORRUPTION"进行崩溃恢复经典 (转)

使用未写入文档参数"_ALLOW_RESETLOGS_CORRUPTION"进行崩溃恢复经典 (转)

原创 网络安全 作者:gugu99 时间:2007-08-16 07:38:58 0 删除 编辑
使用未写入文档参数"_ALLOW_RESETLOGS_CORRUPTION"进行崩溃恢复经典 (转)[@more@]

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


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

上一篇: jive安装指南 (转)
请登录后发表评论 登录
全部评论
  • 博文量
    3121
  • 访问量
    2644366