使用未写入文档参数"_ALLOW_RESETLOGS_CORRUPTION"进行崩溃

发表于:2007-07-02来源:作者:点击数: 标签:
什么情况可能使用该参数 有些时侯可能你的库处于非归档的模式下,而你的联机重做日志又cur rup ted,你的数据文件不能 完成完全的恢复。而这时当你试图打开 数据库 时, oracle 提示你用resetlogs选项,当你使用该选项 时oracle又不允许你使用该选项,总之你

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

原文转自:http://www.ltesting.net