ORA-01458 standby need recover 问题
昨天在给备用数据库上配置RMAN 脚本时应默认的retention policy 不满足恢复窗口要求,因此configure retention policy 修改recovery window参数,应standby的控制文件不能直接修改参数,报错。
搜索网上文章,说从primary 上先修改参数,再重新alter database create standby controlfile as '...' 生成standby controlfile后用scp 传输到standby database host上,在startup nomount后alter database mount standby database, alter database open read only 时报错(关闭数据库是用的是shutdown immediate,也关闭了recover managed standby database cancel),报ORA-01458 错误
使用recover standby database 出错,检查v$archive_gap视图,归档日志已经都同步过来了,不存在缺少归档日志的问题。
检查standby上的v$datafile 视图,发现文件路径和primary上的不同,手工关闭standby_file_convert_management为manual ,使用alter database rename file ',..' to ',...' 更改文件名,发现除了路径不同外,datafile的文件名也不同,不能简单根据文件路径用replace函数更改路径,原来我的standby使用了ASM 磁盘组附带了使用了OMF
用备份的standby控制文件先启动数据库,alter database open read only 成功!
sqlplus中使用
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO RECOVERY WINDOW OF 14 DAYS');
一切搞定!!
posted on 2013-08-06 11:23 onmysmile-oracle 阅读(615) 评论(0) 收藏 举报
浙公网安备 33010602011771号