1、启动和停止日志应用服务
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY INITIAL;
### SQL> ALTER DATABASE STOP LOGICAL STANDBY
APPLY;
### SQL> ALTER DATABASE START LOGICAL
STANDBY APPLY;
2、查看DG的状态
? v$dataguard_stats
Apply lag:表明解决standby和primary之间的gap差距多长时间
Apply finish time :表明解决DG之间的gap要花费多长时间
? v$dataguard_status
DG应用事务日志的信息
? DBA_LOGSTDBY_EVENTS
可以通过试图查看DG运行过程中记录的日志信息。
? V$LOGSTDBY_PROCESS
提供目前SQL apply的当前状态信息
? V$LOGSTDBY_PROGRESS
提供当前SQL apply 状态的详细信息
? V$LOGSTDBY_STATE
提供SQL apply当前状态信息
? V$LOGSTDBY_STATS
提供SQL apply当前状态信息
? V$MANAGED_STANDBY
提供日志应用和传输的信息
? DBA_LOGMNR_PURGED_LOG
提供可以删除的归档日志文件
? V$STANDBY_EVENT_HISTOGRAM
Standby 数据库的日志应用历史信息
3、STANDBY数据库打开
SQL>
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL>
ALTER DATABASE OPEN;
SQL>
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
4、DG switchover切换步骤
? 检查主库是否可以切换为备库:
select
switchover_status from v$database;
查询结果如果是:TO
STANDBY,则主库可以切换为备库。如果不是该参数,则需要检查原因并处理直至状态为TO
STANDBY状态
? 执行主库切换备库切换命令:
alter database commit to switchover to physical standby
with session shutdown;
然后以启动备库的方式启动库。
? 检查备库是否可以切换为主库:
select switchover_status from v$database;
查询结果如果是:TO PRIMARY,则备库可以切换为主库,如非此状态,则需要解决直至为该状态。
? 执行备库切换主库命令
alter database commit to switchover to primary;
然后以启动主库的命令再启动数据库。
5、DG FAILOVER切换步骤
当主库无法提供服务时,启用FAILOVER切换步骤。
首先在备库上执行以下命令:停止应用恢复模式
alter database recover managed
standby database finish;
转换standbydb为primary db
alter database commit to switchover
to primary;
重启数据库,恢复正常业务
shutdown immediate
startup
注,执行该步会破坏DG架构,执行完之后DG需要重新搭建。