Q          题目

 

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




     
A          答案          


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

在这种情况下由于缺少归档,数据库无法恢复,但是如果与该表空间相关的数据改变很少或者基本没有改变的情况下可以通过改变数据文件头的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='*';--取消该参数


& 说明:

有关丢失归档文件后数据文件的恢复具体过程可以参考我的BLOGhttp://blog.itpub.net/26736162/viewspace-2079337/http://blog.itpub.net/26736162/viewspace-2125336/



DB笔试面试历史连接  

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源创计划”,欢迎正在阅读的你也加入,一起分享。

©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试249】在Oracle中,生成备库控制文件的方法有哪些?
  2. 【DB笔试面试845】在Oracle中,sqlnet.ora文件的作用是什么?
  3. Python内置数据库SQLite
  4. 【DB宝26】在Oracle 19c中创建容器数据库(3)--手动创建CDB
  5. python从Excel中读取数据
  6. Oracle连接MongoDB数据库
  7. fail2ban 防止暴力破
  8. Microsoft Visual C++ 14.0 is required
  9. 云关系型数据库(Relational Database Service,RDS)

随机推荐

  1. SPI 机制-插件化扩展功能
  2. 锁住余额,为何还会更新异常?
  3. Spring 注解编程之模式注解
  4. 分享一些 Windows 平台上的神器
  5. 缘起 Dubbo ,讲讲 Spring XML Schema 扩展
  6. 聊聊对账系统的设计方案
  7. 还不知道如何使用 IDEA ?教你三招快速掌握
  8. 聊聊如何从零开始自学编程
  9. 从源码解析 Spring JDBC 异常抽象
  10. 为什么将 Intellij IDEA 作为日常开发的