在NOCATALOG模式下,RMAN创建的备份信息都将保存在目标数据库的控制文件中,所以一旦控制文件丢失,不仅目标数据库崩溃,连RMAN的备份信息也尽数丢失,这种情况下,如果您有控制文件备份,那还有救(没有备份的话,也并非完全没有希望,如果DBA对自己的Oracle数据库非常了解,可以通过写脚本的方式重建控制文件。)

以下是归档模式下,控制文件丢失时的恢复,当然仍利用前面实验时的备份:

实验前首先需记下数据库的DBID:

1、模拟文件丢失,正在操作数据中:

跟之前实验一样,还是直接删除,当然删除之前仍要关闭数据库:

2、由于控制文件丢失,数据库不能打开,只能处于mount状态:

3、恢复控制文件,这里需要用到前面所记录的DBID了:

目标数据库控制文件丢失,无法启动到MOUNT状态,此处需首先设置指定DBID:

4、前面创建备份时都是在NOCATALOG模式下进行的,因此备份信息、备份设置等都是存储在目标数据库的控制文件中,现在控制文件丢失,相当于前面的一些配置也丢失了,用show all 命令查看,可见所有配置均恢复成了默认值:

5、此时恢复控制文件,不能直接使用RESTORE CONTROLFILE FROM AUTOBACKUP 命令,因为自动备份的设置也丢失了,并且此时也是在NOCATALOG模式下,无法配置CONTROLFILE AUTOBACKUP 的相关属性,因此选择显式指定控制文件备份集的方式恢复控制文件:

注意:指定控制文件时,最好找一个新一点的备份集。

6、有了控制文件,就可以将数据库置为MOUNT状态了:

7、由于只是控制文件丢失,数据文件仍在,因此并不需要对整个数据库进行修复操作,只需要执行RECOVER命令,重新应用备份的控制文件后生成的那些重做日志即可,执行RECOVER DATABASE 命令,再执行:ALTER DATABASE OPEN RESETLOGS

8、数据库可以打开了,查看一下数据是否还在:

OK,原来的数据又回来了!

通过上述实验,可知控制文件的重要性,所以做好备份是很有必要的!!'''''''''

本文转自pimg200551CTO博客,原文链接: http://blog.51cto.com/pimg2005/842310,如需转载请自行联系原作者

ORACLE基础学习-RMAN应用-控制文件恢复相关推荐

  1. ORACLE基础学习-RMAN应用之(归档模式无备份,丢失数据文件的恢复)

    二.归档模式无备份,丢失数据文件的恢复: 首先要意识到,这种恢复是有条件的,只有在某些特定条件下,才有可能在没有备份的情况下恢复丢失的数据文件. 同时又需意识到不是所有丢失的文件都是可以被成功恢复的. ...

  2. 通过历史控制文件恢复Oracle数据库,只需这10步

    墨墨导读:通过历史控制文件恢复数据库,只需这10步. 1. 记录控制文件.数据文件头的scn SYS@enmo>select checkpoint_change# from v$database ...

  3. oracle的rac控制文件备份,RAC控制文件恢复(三种不同情况)

    RAC控制文件恢复(三种不同情况) 测试环境: 系统:LINUX-64 数据库:10.2.0.1 二节点的RAC(RACDB1,RACDB2),存储用的ASM 有备份情况下,丢失控制文件,我们改如何恢 ...

  4. oracle不用密码备份,oracle用备份的控制文件恢复后不用resetlogs打开方式的恢复

    在一般恢复备份 的控制文件,打开数据库 都要 用resetlogs 重置日志这种方式, 这是因为备份的控制文件恢复后,没有最新的当前在线日志信息 ,而重建控制文件 就 可以用 NORESETLOGS  ...

  5. 案例解读:RMAN 备份控制文件报错 ORA-00230

    墨墨导读:本文来自墨天轮用户"JiekeXu"投稿,墨天轮主页:https://www.modb.pro/u/4347.这里记录错误 ORA-00230:执行备份时,有几个数据库在 ...

  6. Oracle登陆SQL Plus,Oracle基础学习登陆SQLPLUS(一)

    或 system/(password) 连接到本地的最高帐号 Sql>help index Enter Help [topic] for help. Sql>show all 显示当前SQ ...

  7. oracle参数文件备份,备份的控制文件和新的数据文件

    备份的控制文件和新的数据文件 继续上一节的介绍: 我们可以想象,如果控制文件是从备份中恢复的,那么数据库在open过程中又将如何呢? 首先备份控制文件,打开数据库,增进检查点: [oracle@jum ...

  8. 玩转oracle 11g(36):rman备份-控制文件丢失恢复

    ORA-00205: error in identifying control file, check alert log for more info 检查oracle的报警日志包含类似报错: ORA ...

  9. oracle数据库备份恢复后乱码,RMAN做数据文件恢复后,查询表中数据出现乱码

    今天在学习RMAN恢复数据库时,恢复后的数据库查询表出现乱码: 1:完全备份数据库 MAN>backup database format 'd:\orabackup\%u.bak'; 启动 ba ...

最新文章

  1. QIIME 2教程. 32如何写方法和引用Citing(2021.2)
  2. feature map 意义_FeatureMap Viewer以及中心化对统计分布变化的影响讨论
  3. 设置mysql整形_mysql 整型字段设计
  4. 牛客 - 点对最大值(树的直径)
  5. [蓝桥杯][2018年第九届真题]倍数问题(贪心+思维)
  6. html约束验证的例子,HTML5利用约束验证API来检查表单的输入数据的代码实例
  7. C#设计模式之1-工厂方法模式
  8. 投资一个五星级酒店需要多钱?多长时间能回本?
  9. Ember.js之动态创建模型
  10. java已解密的登录请求_使用https协议解决掉顽固不化的已解密的登录请求
  11. PHP Cookbook读书笔记 – 第13章Web自动化
  12. Mac配置腾讯云服务器SSH秘钥免登陆
  13. 【Python】利用MD5文件去重
  14. Emakefile--快速编译
  15. 怎样才能让datetime字段去掉最后面的小时、分、秒
  16. CSS改变table内置tbody滚动条
  17. PDF技术(一)-Java实现Office系列文件转PDF文件
  18. HDMI 调试之输出RGB888
  19. Latex表格与图片旋转,且标题同时旋转 (表格的标题可设置于表格的上方或下方)
  20. sefan ru java games_Java Pinyin.se4方法代码示例

热门文章

  1. boost::edge_connectivity用法的测试程序
  2. boost::enable_current_exception用法测试程序
  3. Boost:std ::bind与Boost的_1绑定的测试程序
  4. DCMTK:以HTML格式呈现DICOM结构化报告文件的内容
  5. VTK:相互作用之EllipticalButton
  6. C语言打印字符串的所有排列组合(附完整源码)
  7. OpenGL Compute Shader Raytracing 计算着色器光线追踪的实例
  8. C++ deque方法
  9. java斐波那切数列_Java中的递归方法
  10. 「C++」C++ Primer Plus 笔记:第一章 预备知识