Oracle-DG最大可用模式下,dg备库可能对主库有什么影响?
--查询数据库的保护模式:
>select name,database_role,protection_mode from v$database;
NAME DATABASE_ROLE PROTECTION_MODE
--------- ---------------- --------------------
DINGDING PHYSICAL STANDBY MAXIMUM AVAILABILITY
--验证最高可用性日志传输模式:
插入数据:切换日志组:通过主库告警日志查询:通过什么方式发生日志
16:26:44 SQL> insert into a select * from emp where rownum=1;
1 row created.
16:26:54 SQL> commit;
16:25:54 SQL> alter system switch logfile;
Clearing Resource Manager plan via parameter
Wed Jan 10 16:27:11 2018
LGWR: Standby redo logfile selected to archive thread 1 sequence 28
LGWR: Standby redo logfile selected for thread 1 sequence 28 for destination LOG_ARCHIVE_DEST_2
--LGWR 通过远程发生归档日志
--测试最高可用模式:在备库不可用的情况下的影响
--备库:service network stop
--主库:DML操作事务,提交:
16:26:56 SQL> insert into a select * from emp where rownum=1;
---------短时间停顿几秒,开始还是会按照LGWR进程写入归档线程2,远程;
--等待3秒,验证归档线程2不可用后,很快忽略,之后的事务不受到日志是否可以传送备库的影响
16:29:39 SQL> commit;
--网络连接被遗弃:归档日志文件错误
LGWR: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
Error 16198 for archive log file 1 to 'sh'
ORA-错误:LGWR从KSR受到超出误差
ORA-16198: LGWR received timedout error from KSR
LGWR: Error 16198 disconnecting from destination LOG_ARCHIVE_DEST_2 standby host 'sh'
目的地与线程二,无法同步
Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED
--备库发现日志间隙:通过fal_server 主库的db_unique_name:向主库请求发生间隔日志
--最高可用,最初按照最大保护的同步日志LGWR传送,一旦没有收到确认,立即转为类似最大性能的,忽略最大保护的同步日志传送
最高可用:模式不会变化,变化的是日志同步、忽略的传输模式的改变
***备库告警日志:
TNS-00505: Operation timed out
nt secondary err code: 110
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.20.67)(PORT=44838))
RFS[1]: Possible network disconnect with primary database与主库断开网络
RFS[4]: Assigned to RFS process 17980 RFS 进程
RFS[4]: Opened log for thread 1 sequence 30 dbid 2042277967 branch 962041105
---打开日志线程1 序列30 数据库ID
--
Wed Jan 10 11:53:57 2018
Primary database is in MAXIMUM AVAILABILITY mode
Changing standby controlfile to RESYNCHRONIZATION level
Standby controlfile consistent with primary
RFS[7]: Assigned to RFS process 17992小结:在最大可用的情况下,DG出现问题,主库由于最初与dg连通性正常 level级别等同于最大保护,因此有将近3s的时间,主库hang,随后主库保护模式进行降级到最大性能模式;随后的主库事务不在受到影响! 也就是说如果dg不可用,主库会在一定时间内性能出现明显问题,db甚至会Hang等待几秒降级。 db alert有记录!