ORA-01610: recovery using the BACKUP CONTROLFILE option must be done_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2978 | 回复: 0   主题: ORA-01610: recovery using the BACKUP CONTROLFILE option must be done        下一篇 
张伟
注册用户
等级:列兵
经验:110
发帖:81
精华:0
注册:2011-12-22
状态:离线
发送短消息息给张伟 加好友    发送短消息息给张伟 发消息
发表于: IP:您无权察看 2015-4-16 9:28:15 | [全部帖] [楼主帖] 楼主

一:版本信息
操作系统版本 AIX 6109
数据库版本  11.2.0.3(PSU5)

二:错误描述
同事在做数据库恢复演练的时候recover database时报如下错误:

 SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
##他跟我咨询的时候,我首先想到的就是他恢复出来的控制文件肯定是比恢复出来的数据文件旧,于是我就查了一下他们的scn
1.System Checkpoint SCN
SQL> set line 200 pages 2000;
SQL> col checkpoint_change# format 999,999,999,999;
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
241,086,682,217
2.Datafile Checkpoint SCN
SQL>   select name,checkpoint_change# from v$datafile;
NAME                                CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/data01/egcmcdb/datafile/system.dbf            241,086,682,217
/data01/egcmcdb/datafile/sysaux.dbf            241,086,682,217
/data01/egcmcdb/datafile/undotbs1.dbf           241,086,682,217
/data01/egcmcdb/datafile/users.dbf             241,086,682,217
/data01/egcmcdb/datafile/tbs_channel01.dbf        241,086,682,217
/data01/egcmcdb/datafile/tbs_channel02.dbf        241,086,682,217
/data01/egcmcdb/datafile/tbs_channel03.dbf        241,086,682,217
/data01/egcmcdb/datafile/tbs_channel_bak01.dbf     241,086,682,217
/data01/egcmcdb/datafile/tbs_channel_bak02.dbf     241,086,682,217
/data01/egcmcdb/datafile/undotbs02.dbf          241,086,682,217
/data01/egcmcdb/datafile/uk01.dbf              241,086,682,217
/data01/egcmcdb/datafile/uk02.dbf              241,086,682,217


3.Start SCN号

SQL>   select name,checkpoint_change# from v$datafile_header;
NAME                                CHECKPOINT_CHANGE#
-------------------------------------------------- ------------------
/data01/egcmcdb/datafile/system.dbf            241,086,340,779
/data01/egcmcdb/datafile/sysaux.dbf            241,086,340,779
/data01/egcmcdb/datafile/undotbs1.dbf           241,086,340,779
/data01/egcmcdb/datafile/users.dbf             241,086,340,820
/data01/egcmcdb/datafile/tbs_channel01.dbf        241,086,340,820
/data01/egcmcdb/datafile/tbs_channel02.dbf        241,086,340,820
/data01/egcmcdb/datafile/tbs_channel03.dbf        241,086,340,779
/data01/egcmcdb/datafile/tbs_channel_bak01.dbf     241,086,340,820
/data01/egcmcdb/datafile/tbs_channel_bak02.dbf     241,086,340,779
/data01/egcmcdb/datafile/undotbs02.dbf          241,086,340,779
/data01/egcmcdb/datafile/uk01.dbf              241,086,340,820
/data01/egcmcdb/datafile/uk02.dbf              241,086,340,820


4.End SCN (Stop SCN)号

SQL>   select name,last_change# from v$datafile;
NAME                              LAST_CHANGE#
------------------------------------------------ ------------
/data01/egcmcdb/datafile/system.dbf
/data01/egcmcdb/datafile/sysaux.dbf
/data01/egcmcdb/datafile/undotbs1.dbf
/data01/egcmcdb/datafile/users.dbf
/data01/egcmcdb/datafile/tbs_channel01.dbf
/data01/egcmcdb/datafile/tbs_channel02.dbf
/data01/egcmcdb/datafile/tbs_channel03.dbf
/data01/egcmcdb/datafile/tbs_channel_bak01.dbf
/data01/egcmcdb/datafile/tbs_channel_bak02.dbf
/data01/egcmcdb/datafile/undotbs02.dbf
/data01/egcmcdb/datafile/uk01.dbf
/data01/egcmcdb/datafile/uk02.dbf
##从上面可以看到他恢复出来的控制文件的scn是大于各个数据文件的scn号的,那么为什么会报这个错,一时真没想起来


三.问题原因

问题原因可以参考OERR: ORA 1610 recovery using the BACKUP CONTROLFILE option must be done (Doc ID 19007.1)

Cause:  Either an earlier database recovery session specified BACKUP
CONTROLFILE or the control file was recreated with the RESETLOGS
option.
Only BACKUP CONTROLFILE recovery is allowed, and it must be followed
by resetting the online redo log files when the database is next
opened.
Action: Perform recovery using the BACKUP CONTROLFILE option.
##有两个原因会导致恢复的时候出现该错误,第一个是你的恢复出来的控制文件比恢复出来的数据文件旧,第二个是你的控制文件使用resetlogs选项重建过。(问了一下这个库是从其他的地方迁过来的,做过resetlogs,所以问题原因清楚了)


四.解决方案

解决方法就是 recovery using the BACKUP CONTROLFILE option.

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论