SQL> select process,status from v$managed_standby;

PROCESS STATUS

--------- ------------
ARCH CONNECTED
ARCH ERROR
RFS IDLE
RFS IDLE

查看parameter,发现log_archive_dest_state_2设置ENABLE。由于不做SWITCH OVER,所以,这个参数对于我的DG来说,是没用的。

于是:

alter system set log_archive_dest_state_2='DEFER' scope=both;

重新查询:

SQL> select process,status from v$managed_standby;

PROCESS STATUS

--------- ------------
ARCH CONNECTED
ARCH ERROR
MRP0 WAIT_FOR_LOG
RFS IDLE
RFS IDLE

没有效果。

查看参数:

log_archive_max_processes integer 2

对于我的有效ARCH进程实际上只有一个有效,于是:

alter system set log_archive_max_processes=1 scope=1;

SQL> select process,status from v$managed_standby;

PROCESS STATUS

--------- ------------
ARCH CONNECTED
RFS IDLE
RFS IDLE
MRP0 WAIT_FOR_LOG

开回来:

alter system set log_archive_max_processes=2 scope=2;

SQL> select process,status from v$managed_standby;

PROCESS STATUS

--------- ------------
ARCH CONNECTED
ARCH CONNECTED
RFS IDLE
RFS IDLE
MRP0 WAIT_FOR_LOG

问题解决。