控制文件测试

  百度百科:控制文件(Control File)是Oracle的物理文件之一,它记录了数据库的名字、数据文件的位置等信息。控制文件的重要性在于,一旦控制文件损坏,数据库将会宕机。如果没有数据库的备份和归档日志文件,数据库将无法恢复。因此,我们应该多路镜像控制文件(Multiplex Control Files),并把每个镜像的控制文件分布在不同的物理磁盘。根据经验,控制文件多路镜像以后,几个控制文件同时坏掉的可能性几乎为零。控制文件管理的重心是重在预防,而不是亡羊补牢

多路复用控制文件:
1.查看此时数据库的控制文件情况
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/control01.ctl
/u01/app/oracle/fast_recovery_area/orcl/control02.ctl

2.模拟控制文件损坏,mv掉控制文件01
[root@orcl orcl]# mv control01.ctl control01

3.重启数据库
SQL> shutdown immediate
SQL> startup
ORACLE instance started.

Total System Global Area 763363328 bytes
Fixed Size 8797440 bytes
Variable Size 570426112 bytes
Database Buffers 176160768 bytes
Redo Buffers 7979008 bytes
ORA-00205: error in identifying control file, check alert log for more info

4.重新覆盖控制文件
SQL> show parameter control_files

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
fast_recovery_area/orcl/contro
l02.ctl
复制另一个控制文件到control01.ctl
[oracle@ orcl]# cp control02.ctl /u01/app/oracle/oradata/orcl/control01.ctl

5.启动数据库
SQL> startup
ORACLE instance started.

Total System Global Area 763363328 bytes
Fixed Size 8797440 bytes
Variable Size 570426112 bytes
Database Buffers 176160768 bytes
Redo Buffers 7979008 bytes
ORA-00214: control file '/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
version 3251 inconsistent with file
'/u01/app/oracle/oradata/orcl/control01.ctl' version 3225

此时控制文件02的version3251要新与01的version3225,中间做了操作,导致控制文件02版本是更新的,所以重新复制02到01控制文件

6.再次覆盖控制文件
[oracle@orcl ~]$ ! cp /u01/app/oracle/fast_recovery_area/orcl/control02.ctl /u01/app/oracle/oradata/orcl/control01.ctl

7.重启数据库
SQL> shutdown immediate

SQL> startup
ORACLE instance started.

Total System Global Area 763363328 bytes
Fixed Size 8797440 bytes
Variable Size 570426112 bytes
Database Buffers 176160768 bytes
Redo Buffers 7979008 bytes
Database mounted.
Database opened.

******************************************************************************************************************************************

查看数据库有几个控制文件,将所有的控制文件都模拟损坏
1.移走所有的控制文件
SQL> show parameter control_files

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
fast_recovery_area/orcl/contro
l02.ctl
[root@orcl orcl]# mv control01.ctl /tmp
[root@orcl orcl]# mv control02.ctl /tmp

2.重启数据库测试
SQL> shutdown immediate
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/u01/app/oracle/oradata/orcl/control01.ctl'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

SQL> shutdown abort
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 763363328 bytes
Fixed Size 8797440 bytes
Variable Size 570426112 bytes
Database Buffers 176160768 bytes
Redo Buffers 7979008 bytes
ORA-00205: error in identifying control file, check alert log for more info

3.现在所有的控制文件都已经被损坏,首先查看rman是否开启自动备份,然后通过自动备份恢复
RMAN> show all;
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default

4.启动到nomount
RMAN> shutdown immediate

RMAN> startup nomount

5.还原自动备份的控制文件
RMAN> restore controlfile from autobackup;

RMAN> alter database mount;

RMAN> recover database;

RMAN> alter database open resetlogs;

controlfile的情景恢复的更多相关文章

  1. controlfile与备份恢复

    controlfile与备份恢复     数据库正常关闭,trace controlfile信息.   ************************************************ ...

  2. rman全库恢复到不同主机,不同实例名,不同目录下

    一.配置目标主机的ip.hostname及与源端主机的连通性 1.配置目标主机IP 使用图形界面配置IP: administration----network---修改IP(指定静态IP) deact ...

  3. Oracle RMAN 学习:恢复

    Oracle RMAN 学习:恢复 6 rman恢复 Rman中的恢复对应restore,recover Restore,数据修复,利用备份集的数据文件来替换已损坏的数据文件或将其恢复到另外一个位置, ...

  4. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205

    13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临 ...

  5. oracle问题之数据库恢复(三)

    可能很多人在做数据库恢复时,都遇到过如下错误: SQL> recover database; ORA: recovery session canceled due to errors ORA: ...

  6. ORA 各种oraclesql错误

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  7. oracle 错误代码大全

    oracle错误代码大全(超详细)   ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最 ...

  8. (转载)数据库出现ORA-00283/ORA-01610的问题

    在这里需要感谢棉花糖给予无私帮助,真的谢谢他!http://blog.itpub.net/67668/viewspace-353270/处理过程可以参照http://www.itpub.net/vie ...

  9. SQL错误码

    ///////////////////////////////////////////////////////////////ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会 ...

随机推荐

  1. EventBus/EventQueue 再思考

    EventBus/EventQueue 再思考 Intro 之前写过两篇文章,造轮子系列的 EventBus/EventQueue,回想起来觉得当前的想法有点问题,当时对 EvenStore 可能有点 ...

  2. CSS3中的rem单位

    一.rem介绍 rem是什么? 它的全称是 font size of the root element (根元素的字体大小) 它是CSS3中新增加的一个尺寸(度量)单位,根节点(html)的font- ...

  3. thinkphp路由简介和设置使用

    use think\Route; //静态路由 Route::rule('/', 'index/index/index'); Route::rule('test', 'index/index/test ...

  4. 对vue双向绑定的思考

    对于数组 直接更改数组里面的项的值是不会有view响应的,如: <ul> <li v-for="item in test"> {{ item }} < ...

  5. KEA128+SHT30+CRC校验

    最近更新产品功能的时候使用到Sensirion的SHT30(温湿度传感器),虽说官网上有例程(STM32F100RB),但用的是软件模拟I2C时序控制SHT30进行温湿度读取,我用的是S9KEA128 ...

  6. SD.Team回复形象小人偶

  7. Java IO(十七)FIleReader 和 FileWriter

    Java IO(十七)FIleReader 和 FileWriter 一.介绍 FIleReader 和 FileWriter 是读写字符文件的便利类,分别继承于 InputStreamReader ...

  8. 手把手教你学numpy,从此数据处理不再慌【三】

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是numpy专题的第三篇,我们来聊聊numpy当中的索引. 上篇的末尾其实我们简单地提到了索引,但是没有过多深入.没有过多深入的原因也很 ...

  9. 关于vue+element对ie9的兼容el-upload不支持在IE9上传

    关于vue+element对ie9的兼容el-upload不支持在IE9上传 https://lian-yue.github.io/vue-upload-component/#/zh-cn/ 解决方案 ...

  10. Java实现 LeetCode 670 最大交换(暴力)

    670. 最大交换 给定一个非负整数,你至多可以交换一次数字中的任意两位.返回你能得到的最大值. 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7. 示例 2 : 输入: ...