【DB笔试面试356】在Oracle数据库中,丢失归档的情况下数据文件如何恢复?
在Oracle数据库中,丢失归档的情况下数据文件如何恢复?
A 答案
如果一个表空间的数据文件损坏,在有备份的情况下,那么可以使用数据文件的备份进行还原,但是还需要归档文件进行恢复,才能使数据文件到达一个最新的一致性状态,从而才能打开数据库。如果需要的归档文件无法提供,比如被删除了,那么在这种情况下如何打开数据库呢?
在这种情况下由于缺少归档,数据库无法恢复,但是如果与该表空间相关的数据改变很少或者基本没有改变的情况下可以通过改变数据文件头的SCN号,让其和System Checkpoint SCN和Datafile Checkpoint SCN号一致,就可以让Oracle避开对该文件的检查,Oracle就不会去做介质恢复,而只做实例恢复,这样就可以实现完全恢复,及时打开数据库。
一般来说,推进数据文件头的SCN号有两种处理办法:第一,利用BBED(Block 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='*';--取消该参数
& 说明:
有关丢失归档文件后数据文件的恢复具体过程可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2079337/、http://blog.itpub.net/26736162/viewspace-2125336/
http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w |
About Me:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:618766405
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
- 【DB笔试面试223】在Oracle中,如果丢失一个数据文件而且没有备份,也没有归档日志,那么应该如何打开数据库?
- 拥有归档日志 如何恢复一个丢失的数据文件
- 拥有归档日志 如何恢复一个丢失的数据文件
- oracle的数据文件全部丢失,但有归档和重做日志,如何恢复?
- 问题8:如何在应用表空间中的数据文件损坏或者丢失的情况下进行恢复?
- 如何恢复一个只有完好数据文件的Oracle数据库?
- rman实验之归档模式无备份,正常关机丢失数据文件的恢复
- oracle数据库中的内容全部丢失,只有RMAN的备份文件(包括数据,参数,控制文件),恢复数据库到备份状态
- 在归档模式下有备份,丢失数据文件的恢复
- 未启用归档数据库非数据文件(spfile,control,redo,undo,temp)全丢失的恢复方法
- 一个归档模式无备份丢失数据文件的恢复
- 如何从完好的数据文件恢复oracle数据库
- 如何从完好的数据文件恢复oracle数据库
- 如何自己恢复丢失的文件丨迅龙数据恢复丨
- 问题11:参数文件spfile丢失的情况下,如何恢复?
- 无备份有完全归档日志情况下恢复数据文件
- 拥有所有归档文件,但没有备份情况下的数据文件恢复
- 没有备份、只有归档日志,如何恢复数据文件?
- 【DATAGUARD】物理dg在主库丢失归档文件的情况下的恢复(七)
- 拥有所有归档文件,但没有备份情况下的数据文件恢复