温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

在Oracle数据库中,丢失归档的情况下数据文件如何恢复?

发布时间:2020-08-08 20:48:53 来源:ITPUB博客 阅读:179 作者:Mr_刘贵宾 栏目:关系型数据库

    如果一个表空间的数据文件损坏,在有备份的情况下,那么可以使用数据文件的备份进行还原,但是还需要归档文件进行恢复,才能使数据文件到达一个最新的一致性状态,从而才能打开数据库。如果需要的归档文件无法提供,比如被删除了,那么在这种情况下如何打开数据库呢?

    在这种情况下由于缺少归档,数据库无法恢复,但是如果与该表空间相关的数据改变很少或者基本没有改变的情况下可以通过改变数据文件头的SCN号,让其和System Checkpoint SCNDatafile Checkpoint SCN号一致,就可以让Oracle避开对该文件的检查,Oracle就不会去做介质恢复,而只做实例恢复,这样就可以实现完全恢复,及时打开数据库。

一般来说,推进数据文件头的SCN号有两种处理办法:第一,利用BBEDBlock Brower and Editor)修改数据文件头,推进SCN号来打开数据库。第二,设置隐含参数“_ALLOW_RESETLOGS_CORRUPTION”为TRUE来打开数据库,该参数默认为FALSE,待数据库打开后,要将该参数从参数文件中去掉,命令如下所示:

ALTER SYSTEM SET "_ALLOW_RESETLOGS_CORRUPTION"=TRUE SCOPE=SPFILE;--跳过数据库一致性检查

ALTER SYSTEM RESET "_ALLOW_RESETLOGS_CORRUPTION"  SCOPE=SPFILE SID='*';--取消该参数

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI