DG的RFS进程不存在的解决办法

1.首先查看是否存在LSN和RFS进程

select process from v$managed_standby;

2.不存在的话,查看oracle alert.log日志,查看日志是否报错。如果日志没有报错,执行如下脚本

在主库和备库均执行

alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;

原因是:log_archive_dest_state_n这个参数有时候数据库不认,show paremeter 出来的参数不一定就是数据库认定的参数,所以必要时重新修改参数后在修改回来。抱着试一试的心态,在之后再发生RFS进程不存在的问题时,我就重新声明一遍log_archive_dest_state_n参数,先defer在enable,还真管用。(直接再次执行 alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE 即可)

3.我们仍然分两部分来解读:

1)在 primary 数据库,LGWR 提交 redo 数据到 LNSn(LGWR Network Server process)进程(n>0) ,LNSn 启动网络传输。


2)standby 数据库的 RFS(Remote File Server)将接收到的 redo 数据写入 standby redolog。特别注意,在此期间,primary 数据库的事务会一直保持,直到所有所有含 LGWR SYNC 属性的LOG_ARCHIVE_DEST_n指定路径均已完成接收。

你可能感兴趣的:(DG的RFS进程不存在的解决办法)