ER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; --启用redo应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; --启用redo实时应用
8.停止standby
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CALCEL;--停止redo应用
shutdown immediate;
8.failover和switchover
failover:主节点故障,激活从节点,替代服务。
switchover:主从角色互换,比如硬件升级。
物理switchover:
主节点:
select switchover_status from v$database; --如果是TO STANDBY,那么可以主节点可以转换为备节点。
alter database commit to switchover to physical standby with session shutdown;
shutdown immediate;
startup mount;
备节点:
select switchover_status from v$database; --如果是to primary,那么可以切换为主节点。
alter database commit to switchover to primary; --注意转换的时候不能处于open read write模式。
alter database open;
物理failover:
检查归档日志是否连续:
备节点:
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP; --如果没有记录,那么正常,如果有记录,那么需要把归档日志从主节点复制到从节点。
select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;这个是检查归档是否完整。
alter database recover managed standby database finish force;--启动failover
alter database commit to switchover to primary; --转换为主节点。
alter database open;
做fialover其实说明主节点已经不可用,在最大保护和最高可用模式下,直接failover即可,不需要再检查归档,因为这时候主节点可能已经无法打开了。
9.以read only模式打开standby
alter database recover managed standby database cancel; --取消redo应用
alter database open; --打开
alter database recover managed standby database disconnect from session; --恢复到redo应用,不需要shutdown,启用redo应用即可。
10.模式切换:
maximize protection ---> maximize availability ----> maximize performance
当在把dataguard的保护级别按这上面的顺序减低的时候,不需要primary库在mount状态,primary在open状态就可以直接执行保护模式更改命令
maximize protection <--- maximize availability <---- maximize performance
当在把dataguard的保护级别按这上面的顺序升高的时候,需要primary库在mount状态,如果在open更改会报错误
select DATABASE_ROLE,open_mode,PROTECTION_MODE,PROTECTION_LEVEL from v$database; --查看保护模式
切换主库保护模式的语法:
ALTER DATABASE SET STANDBY DATABASE
TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE }
SQL> alter database set standby database to maximize performance;
SQL> alter database set standby database to maximize availability;
SQL> alter database set standby database to maximize protection;
以上都是在主库操作,备库会随之改变。