ORACLE基础学习-RMAN应用-控制文件恢复-阿里云开发者社区

开发者社区> 数据库> 正文

ORACLE基础学习-RMAN应用-控制文件恢复

简介:

 在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,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章