Oracle Active DataGuard 启用实时应用 REDO
启用 ADG Real-Time apply 模式(只要主库事务提交,备库这边即开始应用事务日志):
1、将备机先退出恢复管理模式
SQL> alter database recover managed standby database cancel;
2、在备机添加standby redo log,先确定备机有几组正常的重做日志,standby重做日志组的数量要比正常重做日志多1组,注意日志组大小也要保持一致。
standby redo log数量计算方法:(单个thread的redo logfile数 + 1) * thread总数。
alter database add standby logfile thread 1 group 4 ('/u01/app/oracle/oradata/primary/stdredo01.log') size 50m reuse;
alter database add standby logfile thread 1 group 5 ('/u01/app/oracle/oradata/primary/stdredo02.log') size 50m reuse;
alter database add standby logfile thread 1 group 6 ('/u01/app/oracle/oradata/primary/stdredo03.log') size 50m reuse;
alter database add standby logfile thread 1 group 7 ('/u01/app/oracle/oradata/primary/stdredo04.log') size 50m reuse;
3、在备机启动实时恢复模式
SQL> alter database recover managed standby database using current logfile disconnect from session;
4、观察主备日志
备库会输出类似如下日志
alter database recover managed standby database using current logfile disconnect from session
Tue Jan 13 17:50:30 EAT 2022 Attempt to start background Managed Standby Recovery process (starboss)MRP0 started with pid=25, OS id=1368
Tue Jan 13 17:50:30 EAT 2022 MRP0: Background Managed Standby Recovery process started (starboss)Managed Standby Recovery starting Real Time Apply parallel recovery started with 16 processes
Tue Jan 13 17:50:31 EAT 2022 Waiting for all non-current ORLs to be archived...Media Recovery Waiting for thread 1 sequence 58431 (in transit)
Tue Jan 13 17:50:32 EAT 2022 Completed: alter database recover managed standby database using current logfile disconnect from session …… Recovery of Online Redo Log: Thread 1 Group 8 Seq 58433 Reading mem 0 Mem# 0: /u01/app/oracle/oradata/primary/stdredo02.log
同时在主库上会有如下日志输出:
LNS: Standby redo logfile selected for thread 1 sequence 58433 for destination LOG_ARCHIVE_DEST_2