controlfile的情景恢复
控制文件测试
百度百科:控制文件(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的情景恢复的更多相关文章
- controlfile与备份恢复
controlfile与备份恢复 数据库正常关闭,trace controlfile信息. ************************************************ ...
- rman全库恢复到不同主机,不同实例名,不同目录下
一.配置目标主机的ip.hostname及与源端主机的连通性 1.配置目标主机IP 使用图形界面配置IP: administration----network---修改IP(指定静态IP) deact ...
- Oracle RMAN 学习:恢复
Oracle RMAN 学习:恢复 6 rman恢复 Rman中的恢复对应restore,recover Restore,数据修复,利用备份集的数据文件来替换已损坏的数据文件或将其恢复到另外一个位置, ...
- Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205
13.5 恢复临时文件 临时文件没有也不应该备份.通过V$TEMPFILE可以找到所有的临时文件. 此类文件的损坏会造成需要使用临时表空间的命令执行失败,不至于造成实例崩溃或session中断.由于临 ...
- oracle问题之数据库恢复(三)
可能很多人在做数据库恢复时,都遇到过如下错误: SQL> recover database; ORA: recovery session canceled due to errors ORA: ...
- ORA 各种oraclesql错误
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...
- oracle 错误代码大全
oracle错误代码大全(超详细) ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最 ...
- (转载)数据库出现ORA-00283/ORA-01610的问题
在这里需要感谢棉花糖给予无私帮助,真的谢谢他!http://blog.itpub.net/67668/viewspace-353270/处理过程可以参照http://www.itpub.net/vie ...
- SQL错误码
///////////////////////////////////////////////////////////////ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会 ...
随机推荐
- 进程间的通信——pipe通信
当进程创建管道文件后,其建立的子进程自动继承该文件. 管道通信分为命名管道和未命名管道,他们的区别是命名管道在当创建他的进程结束后,系统仍存有该文件 管道的命令格式为 pipe(fds) 其中 fds ...
- [安卓安全] 01.安卓本地数据存储:Shared Preferences安全风险浅析
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- xxd十六进制编辑器的安装
一.背景:在vi中使用命令:%!xxd无法进行十六进制编辑,为缺少xxd命令所致 二.yum直接安装xxd无法成功[root@ELK ~]# yum install xxd已加载插件:fastestm ...
- Rocket - regmapper - RegMapper
https://mp.weixin.qq.com/s/aXxgzWwh6unuztjgyVX0iQ 简单介绍RegMapper的实现. 1. 简单介绍 RegMapper使用指定的输入接口,为一组寄存 ...
- Java实现 LeetCode 805 数组的均值分割 (DFS+分析题)
805. 数组的均值分割 给定的整数数组 A ,我们要将 A数组 中的每个元素移动到 B数组 或者 C数组中.(B数组和C数组在开始的时候都为空) 返回true ,当且仅当在我们的完成这样的移动后,可 ...
- ASP.NET中IHttpHandler与IHttpModule的区别(带样例说明)
IHttpModule相对来说,是一个网页的添加 IHttpHandler相对来说,却是网页的替换 先建一个HandlerDemo的类 using System; using System.Colle ...
- Java 第十一届 蓝桥杯 省模拟赛 反倍数
反倍数 题目 问题描述 给定三个整数 a, b, c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c 的整数倍,则这个数称为反倍数. 请问在 1 至 n 中有多少个反倍数. 输入格式 ...
- Java实现 蓝桥杯VIP 算法提高 计算器
算法提高 计算器 时间限制:1.0s 内存限制:256.0MB [问题描述] 王小二的计算器上面的LED显示屏坏掉了,于是他找到了在计算器维修与应用系学习的你来为他修计算器. 屏幕上可以显示0~9的数 ...
- java实现第五届蓝桥杯猜年龄
猜年龄 题目描述 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍".小明又补充说:"她们可不是双胞胎,年龄差肯定也不超过8 ...
- 用户和用户组管理-影子文件shadow
ll /etc/shadow 由于shadow文件的权限,所以,只有root可以读 vi /etc/shadow 一共有九列信息: 第一列表示用户名:第二列表示经过加密之后的密码,如果密码是!!或者* ...