请教数据恢复的问题

如果数据库没有备份,没有归档,这时候突然掉电,这时候数据是肯定会丢失的,但是从新启动数据库的时候,回报数据文件不一致 "ORA-01194: file 1 needs more recovery tobe consistent " 而正常启动不了数据库,请问这时候请问如何正常打开数据库?
标签: 暂无标签
lllzd

写了 9 篇文章,拥有财富 71,被 3 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P4 | 发表于 2010-12-10 08:27:49
在数据库open过程中,数据库要进行两次检查:
1、检查控制文件中的checkpoint cnt和数据文件中的checkpoint cnt是否一致,如果相等进行第二步检查
2、检查控制文件中的结束scn和数据文件中的开始scn是否一致,如果一致则不需要对这个文件进行恢复
对每个数据文件都检查完毕后数据库open,并把每个数据文件的结束scn置为无穷大。

LZ的数据库是掉电引起的,所以掉电时数据文件的SCN没有来得及写入到控制文件中,导致数据文件和控制文件的SCN不一致需要恢复,但是一般情况下如果redo log没有问题的话在启动时数据库应该是可以自动恢复的,但是现在看来应该是redo log也损坏了,导致oracle没有办法进行数据恢复了,照此情况看我能想到的办法就是使用隐藏参数“_allow_resetlogs_corruption”来欺骗oracle了,在参数文件中设置_allow_error_simulation=true,然后打开数据库,open后在把这个参数删除,重新启动数据库。所以说备份重于一切。
回复

使用道具

P4 | 发表于 2010-12-10 15:59:41
谢谢大师的解答。
请问如果控制文件的CNT与数据文件的CNT不一致那?那该怎么办?
回复

使用道具

P4 | 发表于 2010-12-11 03:43:31
也可以用隐藏解决。
回复

使用道具

P6 | 发表于 2010-12-11 08:35:46
如果你是在学习,请你不要把重点放在这上面。
Oracle有很多有意义的事情去做,一些常规的事情是最重要的。
这些操作的发生意味着非常大的失败,即使最后修复了。
数据能不能用,还另说着。
回复

使用道具

P4 | 发表于 2010-12-11 11:28:41
未命名.PNG
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈