oracle 11R2 ADG LGWR: Error 16086 opening RFS destination for reconnect

在Oracle 11R2的ADG环境中,配置实时应用时遇到LGWR报错16086,问题源于standby redo log大小不匹配。通过调整standby redo log为200M,重启数据库并保持主备库大小一致,解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现

数据库版本

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0  Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

搭建ADG,采用real-time apply方式

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;

数据库保护模式:

SQL> SELECT protection_mode FROM v$database;

PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

将数据库保护模式修改为MAXIMIZE PROTECTION

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 5.0508E+10 bytes
Fixed Size          2217504 bytes
Variable Size        2.8454E+10 bytes
Database Buffers     2.2012E+10 bytes
Redo Buffers           39710720 bytes
Database mounted.
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 40916
Session ID: 145 Serial number: 3

问题出现

primary alert.log信息如下:

Wed Aug 03 13:37:51 2016
NSS3 started with pid=55, OS id=52738 
ARCt: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_3
******************************************************************
LGWR: Attempting destination LOG_ARCHIVE_DEST_3 network reconnect (16086)
Wed Aug 03 13:38:01 2016
LGWR: RFS network connection re-established at host 'orcl_stby'
LGWR: Error 16086 opening RFS destination for reconnect
LGWR: RFS network connection re-established at host 'orcl_stby'
LGWR: Error 16086 opening RFS destination for reconnect

standby alert.log信息如下

Wed Aug 03 13:37:54 2016
Using STANDBY_ARCHIVE_DEST parameter default value as /backup/redo/archive/
RFS[1]: Assigned to RFS process 8894
RFS[1]: Identified database type as 'physical standby': Client is LGWR SYNC pid 51980
Primary database is in MAXIMUM PROTECTION mode
Standby controlfile consistent with primary
Wed Aug 03 13:37:55 2016
RFS[2]: Assigned to RFS process 8896
RFS[2]: Identified database type as 'physical standby': Client is LGWR SYNC pid 51980
Primary database is in MAXIMUM PROTECTION mode
Standby controlfile consistent with primary
Standby controlfile consistent with primary
RFS[2]: No standby redo logfiles of file size 209715200 AND block size 512 exist
RFS[2]: No standby redo logfiles selected (reason:7)
Errors in file /u01/app/diag/rdbms/orcl_stby/orcl/trace/orcl_rfs_8896.trc:
ORA-16086: Redo data cannot be written to the standby redo log
Wed Aug 03 13:38:01 2016
RFS[3]: Assigned to RFS process 8898
RFS[3]: Identified database type as 'physical standby': Client is LGWR SYNC pid 51980
Primary database is in MAXIMUM PROTECTION mode
Standby controlfile consistent with primary
Standby controlfile consistent with primary
RFS[3]: No standby redo logfiles of file size 209715200 AND block size 512 exist
RFS[3]: No standby redo logfiles selected (reason:7)
Errors in file /u01/app/diag/rdbms/orcl_stby/orcl/trace/orcl_rfs_8898.trc:
ORA-16086: Redo data cannot be written to the standby redo log

问题分析

1、从主库的日志信息看,FRS无法同步到备库;

2、备库的信息看到
RFS[3]: No standby redo logfiles of file size 209715200 AND block size 512 exist
RFS[3]: No standby redo logfiles selected (reason:7)

备库申请200MB的standby redo log但是没有

检查standby redo log

SQL> select group#,bytes/1024/1024 from v$standby_log;

    GROUP# BYTES/1024/1024
---------- ---------------
    11         50
    12         50
    13         50
    14         50
    15         50
    16         50

6 rows selected.

因此将备库的standby redo log的大小修改为200M



SQL> 
SQL> 
SQL> 
SQL> 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 5.0508E+10 bytes
Fixed Size          2217504 bytes
Variable Size        2.8454E+10 bytes
Database Buffers     2.2012E+10 bytes
Redo Buffers           39710720 bytes
Database mounted.
SQL> alter database open;

Database altered.

SQL> insert into test values(1);

1 row created.

SQL> commit;

Commit complete.

重新启动primary数据库

SQL> startup mount;
ORACLE instance started.

Total System Global Area 5.0508E+10 bytes
Fixed Size          2217504 bytes
Variable Size        2.8454E+10 bytes
Database Buffers     2.2012E+10 bytes
Redo Buffers           39710720 bytes
Database mounted.
SQL> alter database open;

Database altered.

数据库启动成功,将主库的standby redo log也做同样的修改,以防止故障转移的时候出现同样的问题。

问题总结

standby redo log需要200M的原因是因为redo log的大小也是200M,所以要保证redo log和standby redo log的大小。

SQL> select group#,bytes/1024/1024 from v$log;

    GROUP# BYTES/1024/1024
---------- ---------------
     1         200
     2         200
     3         200
     4         200
     5         200
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值