专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle面试

新手问个until cancel恢复出错有关问题

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
新手问个until cancel恢复出错问题
为了测试恢复数据库(归档模式)

SQL> shutdown abort
SQL> startup                --可以起来
SQL> shutdown abort
SQL> startup mount 

SQL> recover database using backup controlfile until cancel;ORA-00279: change 503362 generated at 02/07/2012 17:54:35 needed for thread 1
ORA-00289: suggestion :
/home/oracle/oracle/product/10.2.0/flash_recovery_area/ORCL/archivelog/2012_02_0
7/o1_mf_1_6_%u_.arc
ORA-00280: change 503362 for thread 1 is in sequence #6


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancelORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/home/oracle/oracle/product/10.2.0/oradata/orcl/system01.dbf'


ORA-01112: media recovery not started


SQL> alter database open resetlogs;alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1:
'/home/oracle/oracle/product/10.2.0/oradata/orcl/system01.dbf'




试过数据库直接startup可以起来,或者用recover database也可以完全恢复
为什么用cancel不完全恢复就不行呢,选auto还是cancel都起不来。
之后启动就提示要resetlog开启,resetlog开启又提示要恢复system01.dbf,一直循环。

最后设置"_allow_resetlogs_corruption"=true 可以起来
只有10分才在这里问,大家多多包涵。

------解决方案--------------------
你直接abort,数据库可能需要实例恢复,也可能需要介质恢复(概率不大)
然后你直接输入了cancel,数据库就没有进行实例恢复了,当然不能启动了


startup自动做实例恢复
recover database 做介质恢复,然后你在open的时候做实例恢复
_allow_resetlogs_corruption 屏蔽掉了应用redo,所以相当实例恢复被屏蔽(不太准确,但是确实有这个效果)
------解决方案--------------------
你abort之后,启动的时候看看alert日志里是否有实例恢复或者介质恢复的信息,如果有实例或者介质恢复,必须等恢复之后进行recover

顺便说下你要进行Until cancel移除部分归档,recover database的时候就会报错的,然后再进行recover cancel
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: