一、问题现象
12.2 DG启动实时应用,但是并未真正的实时应用,需要主库切换归档,DG才能应用!
主库 SQL> select DEST_NAME , STATUS , RECOVERY_MODE from v$archive_dest_status; DEST_NAME STATUS RECOVERY_MODE ---------------------------------------- ------------------ ---------------------------------------------- LOG_ARCHIVE_DEST_1 VALID IDLE LOG_ARCHIVE_DEST_2 VALID MANAGED REAL TIME APPLY
备库
SQL> alter database recover managed standby database using current logfile disconnect from session;
v$managed_standby MRP0 WAIT_FOR_LOG
二、问题排查
Oracle 从11g 实时应用就建议standby redo logfile与log file 文件大小一致! 主库的redo变换会在dg写入standby redo log
SQL> select thread#,group#,bytes/1024/1024 from v$log; THREAD# GROUP# BYTES/1024/1024 ---------- ---------- --------------- 1 1 200 SQL> select group#,thread#,bytes/1024/1024 from v$standby_log; GROUP# THREAD# BYTES/1024/1024 ---------- ---------- --------------- 4 0 50
文件大小不同! 虽然我们看视图standby redo 很可能只使用1个之类的,但是实际还是使用的!
SQL> alter database drop standby logfile group 4;
SYS>alter database add standby logfile thread 1 group 4 '/picclife/app/oracle/oradata/orcldg/redostandby04.log' size 200m;
SYS>alter database add standby logfile thread 1 group 5 '/picclife/app/oracle/oradata/orcldg/redostandby05.log' size 200m;
SYS>alter database add standby logfile thread 1 group 6 '/picclife/app/oracle/oradata/orcldg/redostandby06.log' size 200m;
SYS>alter database add standby logfile thread 1 group 7 '/picclife/app/oracle/oradata/orcldg/redostandby07.log' size 200m;
删除重建standby redo
重新开启mgr进程!观察!
MRP0 APPLYING_LOG 基本稳了! 测试一波,但是需要主库切换一下redo才可以! 并没有立即真正的实时应用,主库切换下redo后续就OK了。