RAC+单实例场景下 DG主备切换,报ORA-01577

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY
*
ERROR at line 1:

ORA-01577: cannot add log file '/u01/app/oracle/oradata/orcl/group_1.257.1010584013' - file already part of database

主库下:

select  member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
+DATA/orcl/onlinelog/group_1.257.1010584013
+FRA/orcl/onlinelog/group_1.257.1010584013

log_file_name_convert='+DATA/orcl/onlinelog/','/u01/app/oracle/oradata/orcl/','+FRA/orcl/onlinelog/','/u01/app/oracle/oradata/orcl/'

ADG端是本地文件系统,导致同文件同目录只有一份。

select  member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/group_1.257.1010584013
/u01/app/oracle/oradata/orcl/group_1.257.1010584013

主库制定了闪回区,备库没有指定。

1、第一种方式:SQL> ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/group_1.257.1010584013' ;

2、第二种方式 :SQL>ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/group_1.257.1010584013'  TO '/u01/fast_recovery_area/group_1.257.1010584013' ;

将主库的*.log_file_name_convert='+DATA/orcl/onlinelog/','/u01/app/oracle/oradata/orcl/','+FRA/orcl/onlinelog/','/u01/app/oracle/oradata/orcl/'改为

*.log_file_name_convert='+DATA/orcl/onlinelog/','/u01/app/oracle/oradata/orcl/','+FRA/orcl/onlinelog/','/u01/fast_recovery_area/'

然后:ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

原文地址:https://www.cnblogs.com/elontian/p/11012737.html