重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 207|回复: 0
打印 上一主题 下一主题

[Oracle] Duplicate for Standby fails with RMAN-05535 even when LOG_FILE_NAME_CONVERT i...

[复制链接]
跳转到指定楼层
楼主
发表于 昨天 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现象:
RMAN duplicate for standby fails with RMAN-05535 although the LOG_FILE_NAME_CONVERT parameter is defined:

RMAN> run{
2> duplicate target database for standby nofilenamecheck from active database
3>
4> spfile
5>
6> set log_file_name_convert='<PATH1>/<ORACLE_SID>/redo1/','<PATH1>/<ORACLE_SID>/redo1/','<PATH1>/<ORACLE_SID>/redo2/','<PATH1>/<ORACLE_SID>/redo2/'
7>
8> set db_unique_name='<ORACLE_SID>s'
9> set fal_server='<ORACLE_SID>'
10> set log_archive_dest_1='LOCATION=<PATH1>/<ORACLE_SID>/arc/ reopen=30 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=<ORACLE_SID>s'
11> set log_archive_dest_2='SERVICE=<ORACLE_SID>S ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=<ORACLE_SID>'
12> set log_archive_dest_state_1='ENABLE'
13> set log_archive_dest_state_2='DEFER'
14> set standby_file_management='MANUAL';
15> }
16>

......

RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
RMAN-05535: WARNING: All redo log files were not defined correctly.
Duplicate Db ended on 21-02-15

Recovery Manager is complete.
The alert.log of the standby auxiliary instance shows the following:

alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo01.log' to 'broken0'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo01.log' to 'broken0'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo21.log' to 'broken1'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo21.log' to 'broken1'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo02.log' to 'broken2'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo02.log' to 'broken2'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo22.log' to 'broken3'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo22.log' to 'broken3'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo03.log' to 'broken4'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo03.log' to 'broken4'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo23.log' to 'broken5'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo23.log' to 'broken5'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo04.log' to 'broken6'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo04.log' to 'broken6'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo24.log' to 'broken7'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo24.log' to 'broken7'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo05.log' to 'broken8'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo05.log' to 'broken8'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo25.log' to 'broken9'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo25.log' to 'broken9'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo06.log' to 'broken10'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo06.log' to 'broken10'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo26.log' to 'broken11'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo26.log' to 'broken11'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo41.log' to 'broken12'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo41.log' to 'broken12'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo61.log' to 'broken13'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo61.log' to 'broken13'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo42.log' to 'broken14'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo42.log' to 'broken14'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo62.log' to 'broken15'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo62.log' to 'broken15'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo43.log' to 'broken16'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo43.log' to 'broken16'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo63.log' to 'broken17'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo63.log' to 'broken17'
2021-02-15T08:36:00.199587+09:00
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo44.log' to 'broken18'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo44.log' to 'broken18'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo64.log' to 'broken19'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo64.log' to 'broken19'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo45.log' to 'broken20'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo45.log' to 'broken20'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo65.log' to 'broken21'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo65.log' to 'broken21'
alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo46.log' to 'broken22'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo46.log' to 'broken22'
alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo66.log' to 'broken23'
Completed: alter database rename file '<PATH1>/<ORACLE_SID>/redo2/redo66.log' to 'broken23'

原因:
This issue is similar to Bug 30776075: RMAN DUPLICATE WITH SRLS ERROR RMAN-05535: WARNING: ALL REDO LOG FILES WERE NOT DEFINED PROPERLY.
This bug is awaiting the fix of the base Bug 23127716: SRL IS NOT CONVERTED BY LOG_FILE_NAME_CONVERT ON CASCADED STANDBY which at this time is currently open and under investigation.

处理方法:
The workaround for this issue is to rename the redo log files manually.  

1. Issue the 'alter database' command to rename the redo log files reported in the alert.log of the standby/auxiliary:

For example, if the alert log shows the following:

alter database rename file '<PATH1>/<ORACLE_SID>/redo1/redo01.log' to 'broken0'

execute the rename like the following:

alter database rename file '<ORACLE_HOME>/dbs/broken0' to '<PATH1>/<ORACLE_SID>/redo1/redo01.log';

2. Confirm the redo log filename have changed using the following query:

select v1.thread#, v1.group#, v2.member from v$log v1, v$logfile v2 where v1.group#=v2.group#
order by v1.group#;
Repeat step #1 above for any redo logfile listed in the above query which has not been renamed.  

3. The above steps does not create the redo log file, it just updates the controlfile with a valid location and name.  Once all the redo
log files have been renamed, you must execute the following to physically create them:


alter database clear logfile group <REDO LOG group  number>;

The REDO LOG group value is the same as that returned by group# column in v$logfile view.  

4.  Once complete, the standby database can begin redo apply.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2025-4-7 11:44 , Processed in 0.113862 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表