以下步骤全部都是在standby server上的操作,对于primary来说,要保持standby logs数量、大小上的一致
On Standby Database :
--add standby logs
(1).查看各种日志状况
SQL> col MEMBER format a40
SQL> col STATUS format a15
SQL> select GROUP#,STATUS,TYPE,MEMBER from v$logfile;
SQL> select GROUP#,THREAD#,MEMBERS,STATUS from v$log;
SQL> select GROUP#, THREAD#,USED,STATUS from v$standby_log;
(2).添加standby log
(注:standby log的size要与the primary database online redo logs保持一致)
SQL> alter database add standby logfile thread 1 '/oradata/standby/onlinelog/standby11.log' size 50M;
alter database add standby logfile thread 1 '/oradata/standby/onlinelog/standby11.log' size 50M
*
ERROR at line 1:
ORA-01156: recovery or flashback in progress may need access to files
错误原因:在备库添加standby redo log需要先停MRP
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database add standby logfile thread 1 '/oradata/standby/onlinelog/standby11.log' size 50M;
Database altered.
SQL> alter database recover managed standby database disconnect from session;
(3).在主库同样添加相同个数、大小的standby redo log
SQL> alter database add standby logfile size 50M;
(4).启用real-time apply,从而实现real-time query:
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
Database altered.