启动dataguard
先启动备库:
[oracle@localhost
~]$ lsnrctl start
SQL> startup
nomount;
SQL> alter
database mount standby database;
SQL> recover
managed standby database disconnect from session;
查看备库状态和模式:
SQL> select
name,open_mode,protection_mode,database_role from
v$database;
再启动主库:
[oracle@localhost
~]$ lsnrctl start
SQL>
startup
查看主库状态和模式
SQL> select
name,open_mode,protection_mode,database_role from
v$database;
在主库归档当前日志:
SQL> alter
system archive log current;
监控备库:
1、查看standby库的log_archive_dest_1下应该由archive产生。
2、查询v$archived_log,有新的日志记录出现。最大sequence#,应该为主库v$log中current状态日志的序列号减一。
SQL> select
sequence#,applied,first_time,next_time,resetlogs_change#,completion_time
from
v$archived_log order by sequence#;
3、查看服务是否启动:
SQL> SELECT
process,status,client_process,sequence#,BLOCK# FROM
v$managed_standby;
4、查看是否有漏掉的归档日志
SQL> select *
from v$archive_gap;
关闭dataguard
先关闭主库:
SQL> alter
system archive log current;
SQL> shutdown
immediate;
再关闭备库:
SQL> SELECT
PROCESS, STATUS FROM V$MANAGED_STANDBY;
检查是否处于恢复状态:
PROCESS STATUS
--------- ------------
ARCH CLOSING
ARCH CLOSING
ARCH CONNECTED
ARCH CLOSING
MRP0 WAIT_FOR_LOG#处于恢复
RFS IDLE
RFS IDLE
RFS IDLE
RFS WRITING
9 rows
selected.
取消恢复状态:
SQL> recover
managed standby database cancel;
然后关闭备库:
SQL> shutdown
immediate;