关于oracle修复控制文件与数据文件不一致的问题----
本小菜鸟周末鼓捣数据库关于rman恢复与备份方面的实验,结果不知道哪根筋搭错了,手一哆嗦,做了不知道什么操作,就出现了数据库打不开的严重状态,只能开启到mount状态,但是切换到open状态时就会报错
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'D:\APP\FX\ORADATA\ORCL\SYSTEM01.DBF'
google了下发现,是由于控制文件与数据文件不同步导致的,鼓捣了一下午加一晚上,一点起色都没有啊,最后竟然连参数文件spfile也抛弃了我,小菜鸟我挠头挠得都快没毛了。。。呜呜呜
但是、、、、、这个世界并没有抛弃我,因为聪明的我为了避免意外的发生,在实验之前做了全款备份,将数据文件和控制文件都做了完整的备份,作为一个听话的好孩子,我清楚地记得,老师说过,只要有完整的数据文件备份和相应的控制文件备份,我们就可以恢复数据库!!!
我坚信老师的这句话,于是乎开始了漫漫的数据恢复路,过程及其艰辛(伦家是小菜鸟啦,表笑话伦家啦~),终于,皇天不负我,我修好了我滴数据库,吼吼,先总结如下,以备以后忘记。。。。。。
1、登录rman,
rman target /;
set bdid='' -------这里要填入需要恢复的数据库的bdid,一定要填哦,不然不知道你要修复的是哪个数据库
startup mount; -------将数据库开启到mount状态;
2、查看当前我们拥有的备份集
RMAN> list backup summary; 备份列表
===============
文件关键字 TY LV S Ckp SCN Ckp 时间 段数 副本数 压缩标记
---- ------- - -- - ---------- ---------- ------- ------- ---------- ---
1 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
11 B 0 A 2224622 02-3月 -14 1 1 NO TAG2014030
2T142822
2 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
11 B 0 A 2224622 02-3月 -14 1 1 NO TAG2014030
2T142822
3 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
11 B 0 A 2224622 02-3月 -14 1 1 NO TAG2014030
2T142822
4 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
5 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
6 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
7 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
8 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
9 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
10 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
13 B 1 A 2225134 02-3月 -14 1 1 NO TAG2014030
2T143311
11 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
23 B 0 A 2231035 02-3月 -14 1 1 NO TAG2014030
2T160453
21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
17 B 0 A 2227698 02-3月 -14 1 1 NO TAG2014030
2T153455
15 B 1 A 2225770 02-3月 -14 1 1 NO TAG2014030
2T143810
12 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
25 B 1 A 2231845 02-3月 -14 1 1 NO TAG2014030
2T160929
12 21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
19 B 1 A 2229089 02-3月 -14 1 1 NO TAG2014030
2T154312
13 27 B 1 A 2232416 02-3月 -14 1 1 NO TAG2014030
2T161200
13 21 B 1 A 2229561 02-3月 -14 1 1 NO TAG2014030
2T154620
控制文件备份列表
============================
CF Ckp SCN Ckp 时间 BS 关键字 S 段数 副本数 压缩标记
---------- ---------- ------- - ------- ------- ---------- ---
2232493 02-3月 -14 28 A 1 1 NO TAG20140302T161200
2231937 02-3月 -14 26 A 1 1 NO TAG20140302T160929
2231067 02-3月 -14 24 A 1 1 NO TAG20140302T160453
2229596 02-3月 -14 22 A 1 1 NO TAG20140302T154620
2229123 02-3月 -14 20 A 1 1 NO TAG20140302T154312
2227735 02-3月 -14 18 A 1 1 NO TAG20140302T153455
2225807 02-3月 -14 16 A 1 1 NO TAG20140302T143810
2225211 02-3月 -14 14 A 1 1 NO TAG20140302T143311
2224655 02-3月 -14 12 A 1 1 NO TAG20140302T142822
2223642 02-3月 -14 10 A 1 1 NO TAG20140302T141712
RMAN>list incarnation of database; ---------------查看当前数据库的所有incarnation
数据库原型列表
DB 关键字 Inc 关键字 DB 名 DB ID STATUS 重置 SCN 重置时间
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1362531435 PARENT 1886312 20-1月 -14
2 2 ORCL 1362531435 PARENT 02-3月 -14
3 3 ORCL 1362531435 PARENT 02-3月 -14
4 4 ORCL 1362531435 CURRENT 2230890 02-3月 -14
通过观察,我们发现,我们拥有4个incarnation(原型),我们拥有2个版本的数据库备份,scn分别是2231035、2227698,我们能使用的是scn=2227698的数据库备份版本,该版本是原型2和3的中间状态,也就是说数据文件是在INCARNATION2之后, 3前备份的,所以我们要将数据库重置到incarnation 2:
RMAN->reset database to incarnation 2;
然后关闭数据库,将数据库开启到nomount状态,准备进行控制文件的恢复,我们首先要找到scn为2227698对应的数据库备份文件存放的位置,该文件的TAG=TAG20140302T153455
RMAN->shutdown immediate;
RMAN->startup nomount;

开始恢复数据文件
RMAN->restore controlfile from 'D:\app\fx\flash_recovery_area\orcl\BACKUPSET\2014_03_02\O1_MF_NCSN1_TAG20140302T160453_9K5SMWY8_.BKP';
还原控制文件后,将数据库切换到mount状态,进行相应数据文件的恢复,数据文件恢复后,用RESETLOGS打开数据库,如果打开数据库时报错
ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前
ORA-01110: 数据文件 1: 'D:\APP\FX\ORADATA\ORCL\SYSTEM01.DBF'
我们就需要修改参数_allow_resetlogs_corruption=true,然后再用RESETLOGS打开数据库就可以啦,记得用RESETLOGS打开数据库后一定要再次对数据库进行全库备份。
修改参数_allow_resetlogs_corruption时,我们可以通过重建pfile,在外围手动修改pfile,在文件内加入*._allow_resetlogs_corruption=true,后通过pfile启动数据库,在通过pfile重建spfile就可以啦。。。
关于为何选择scn是2231035、2227698的备份集作为待选的恢复备份?---因为这里需要使用的是一个全库备份的备份集,我们没有全库备份集,但是我们有0级备份啊,在今天这种情况下,完全可以用0级备份来代替全库备份,因为两者在数据内容上是完全一致的,只是0级备份不能用作数据块级的恢复而已。
至此,小菜鸟修复数据库的全部过程就到这里啦,感谢收看~~~
关于oracle修复控制文件与数据文件不一致的问题----的更多相关文章
- 【Oracle】非RMAN恢复数据文件、控制文件
实验环境:OEL 5.6 oracle 11g(11.2.0.4.0) 注意: system表空间数据文件不能在线recover,需要启动到mount状态再recover: undo表空间数据文件可以 ...
- Oracle sqlldr导入导出txt数据文件详解
一.sqlldr导入txt 1.预备 a).txt文件 这里要保存成无签名的UTF-8 b).oracle建表 2.编写控制文件input_test.ctl LOAD DATA CHARACTERSE ...
- ORACLE ORA-01157: 无法标识/锁定数据文件
create undo tablespace MOZI datafile 'E:\oracle\product\10.2.0\oradata\orcl\MOZI.DBF' size 2048M ext ...
- Oracle数据库表空间与数据文件的关系描述正确的是( )
Oracle数据库表空间与数据文件的关系描述正确的是( ) A.一个表空间只能对应一个数据文件 B.一个表空间可以对应多个数据文件 C.一个数据文件可以对应多个表空间 D.表空间与数据文件没任何对应关 ...
- SQLSERVER手动增长日志文件和数据文件
原文:SQLSERVER手动增长日志文件和数据文件 SQLSERVER手动增长日志文件和数据文件 手动增长日志文件,实际上就是修改日志文件的大小 size 的单位是MB 下面设置日志文件大小是204 ...
- Oracle的表空间和数据文件
一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...
- Oracle 10g使用amdu抽取数据文件
环境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:实验在Oracle 10g环境使用amdu抽取数据库文件 本文主要目的是介绍3个知识点: 1.使amdu可以在oracle 10 ...
- Oracle管理表空间和数据文件详解
介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括 ...
- Oracle的表空间、数据文件、用户
每一个Oracle数据库都是由三种类型的文件组成:数据文件(Data File).日志文件(Log File)和控制文件(Control File).数据库的文件为数据库信息提供真正的物理 ...
随机推荐
- HTML 折行 <br/>标签
定义和用法: <br/>可插入一个简单的换行符. br标签是单独出现的,<br /> 当使用br标签时,其后面的所有内容都将在下一行出现 属性 Common -- 一般属性 c ...
- CodeForces #369 div2 D Directed Roads DFS
题目链接:D Directed Roads 题意:给出n个点和n条边,n条边一定都是从1~n点出发的有向边.这个图被认为是有环的,现在问你有多少个边的set,满足对这个set里的所有边恰好反转一次(方 ...
- WCF初探-9:WCF服务承载 (下)
在WCF初探-8:WCF服务承载 (上)中,我们对宿主的概念.环境.特点做了文字性的介绍和概括,接下来我们将通过实例对这几种寄宿方式进行介绍.为了更好的说明各寄宿环境特点,本实例采用Http和net. ...
- JavaScript Array对象 知识点总结
1 isArray方法 该方法是Array对象的静态方法,用来判断一个值是否为数组,它可以弥补typeof运算符的不足. 用法是Array.isArray(array实例) 通用的判断对象数据类型的方 ...
- vs2013 遇到的web性能记录器无法使用问题
诊断和修复Web测试记录栏的问题.自2005年以来VSTS运也出现了各种由客户多年来提出不同的问题.记录Web测试时,这在一定程度经常提到的一个话题是一个残疾或不存在的Web测试记录吧.因为它可以令人 ...
- enmo_day_04
数据库名称 : PROD1 update employees set salary = salary + 1000 where LAST_NAME = ‘Bell’; select LAST_NAME ...
- c3p0的log4j配置
com.mchange.v2.log.log4j.Log4jMLog=info,console,c3p0fileslog4j.appender.c3p0files=org.apache.log4j.D ...
- 使用UISegmentedControl的一个注意事项
NSArray* array = [[NSArray alloc]initWithObjects:@"机会",@"联系人", nil]; //先确定segmen ...
- python3 使用pyperclip读写剪贴板(windows)
2016年5月14日 03:41:38 codegay 使用pyperclip库读写剪贴板非常简单~, 1.使用命令安装: pip install pyperclip 2.然后...就可以了: 以下是 ...
- MAC上python+Eclipse+pydev环境搭建
转自:http://www.cnblogs.com/Bonker/p/3584707.html 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse ...