ADG switchover and failover 、三种模式的切换
2016-02-22 00:00
597 查看
摘要: ADG 三种模式是针对 主库在未计划内停机但停机时主库数据要尽量达到哪种目的 而提出的;
LYNC 、ASYNC 是针对主库负载提出的;
ADG 三种模式是针对 主库在未计划内停机但停机时主库数据要尽量达到哪种目的 而提出的;
LYNC 、ASYNC 是针对主库负载提出的;
ADG 配置 见 http://my.oschina.net/1272149624/blog/618290
本节接上节继续——ADG switchover and failover 、三种模式的切换
DG的三种模式:
最大保护:主节点事务提交前,redo写入在线日志,而且从节点也要写入到standby redolog中,并且保证在从库中至少一个节点可用,在主节点才提交事务,注意,最大保护模式,从节点故障,主库会被shutdown。
最高性能:这种模式,主节点随时提交事务,事务提交时,redo至少写入一个从节点,但是写入不一定同步。
最高可用性(介于最大保护与最大性能之间):这种模式和最大保护有点类似,不同的是,从库故障,主库不会shutdown,而是转为最高性能模式,从库恢复后,转回最高可用性模式。
Oracle 10g Dataguard 物理standby只能read only打开,此时只接受redo,不应用redo。应用redo,就不能打开(只能mount);Oracle 11G Dataguard 可以以open read only模式打开,继续应用redo.
查看ADG当前模式
主:
备:
--默认ADG为最大性能模式
切换为最大可用模式
切换为最高保护
********************* 三种模式间,具体细节区别,请自行建立相关实验测试 *********************
switchover切换
备库:
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
查看备库状态:
主备都执行:
shutdown immediate;
startup;
查看备库状态,发现成了primary角色
查看主库状态,发现成了standby角色
做测试
---SWITCHOVER_STATUS好像不正常,不过后面测试却是可以的,具体原因,我再研究下下
***************至此,switchover 结束 *********
关于,swithover后,验证数据可行性,上面步骤是有问题的,留下悬念(提示,备库启动时,应该先启动到mount,再recover)
LYNC 、ASYNC 是针对主库负载提出的;
ADG 三种模式是针对 主库在未计划内停机但停机时主库数据要尽量达到哪种目的 而提出的;
LYNC 、ASYNC 是针对主库负载提出的;
ADG 配置 见 http://my.oschina.net/1272149624/blog/618290
本节接上节继续——ADG switchover and failover 、三种模式的切换
一、ADG有三种(PROTECTION|AVAILABILITY|PERFORMANCE)模式切换
首先对三种模式做个简单的介绍:DG的三种模式:
最大保护:主节点事务提交前,redo写入在线日志,而且从节点也要写入到standby redolog中,并且保证在从库中至少一个节点可用,在主节点才提交事务,注意,最大保护模式,从节点故障,主库会被shutdown。
最高性能:这种模式,主节点随时提交事务,事务提交时,redo至少写入一个从节点,但是写入不一定同步。
最高可用性(介于最大保护与最大性能之间):这种模式和最大保护有点类似,不同的是,从库故障,主库不会shutdown,而是转为最高性能模式,从库恢复后,转回最高可用性模式。
Oracle 10g Dataguard 物理standby只能read only打开,此时只接受redo,不应用redo。应用redo,就不能打开(只能mount);Oracle 11G Dataguard 可以以open read only模式打开,继续应用redo.
查看ADG当前模式
主:
SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
备:
SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
--默认ADG为最大性能模式
切换为最大可用模式
SQL> alter database set standby database to maximize availability; 主: SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY 备: SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PHYSICAL STANDBY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
切换为最高保护
SQL>alter database set standby database to maximize protection; 主: SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM PROTECTION MAXIMUM PROTECTION 备: SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PHYSICAL STANDBY MAXIMUM PROTECTION MAXIMUM PROTECTION
********************* 三种模式间,具体细节区别,请自行建立相关实验测试 *********************
二、 failover测试
三、switchover测试
查看主备状态主: SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ primary OPEN 备: SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ standby OPEN
switchover切换
SQL>alter database commit to switchover to physical standby with session shutdown; 查看主库状态 SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PHYSICAL STANDBY MAXIMUM PROTECTION UNPROTECTED SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY RECOVERY NEEDED
查看备库状态 SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PHYSICAL STANDBY MAXIMUM PROTECTION MAXIMUM PROTECTION
备库:
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
查看备库状态:
SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM PROTECTION UNPROTECTED 查看主库状态: SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY RECOVERY NEEDED
主备都执行:
shutdown immediate;
startup;
查看备库状态,发现成了primary角色
SQL> select database_role,protection_mode,protection_level from v$database; DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ---------------- -------------------- -------------------- PRIMARY MAXIMUM PROTECTION MAXIMUM PROTECTION
查看主库状态,发现成了standby角色
SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY TO PRIMARY
做测试
备: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/fast_recovery_area Oldest online log sequence 40 Next log sequence to archive 41 Current log sequence 41 主: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/fast_recovery_area Oldest online log sequence 39 Next log sequence to archive 0 Current log sequence 41 备: SQL> alter system switch logfile; System altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/fast_recovery_area Oldest online log sequence 40 Next log sequence to archive 42 Current log sequence 42 主: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/app/oracle/fast_recovery_area Oldest online log sequence 39 Next log sequence to archive 0 Current log sequence 42 查看备库switchover状态 SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PRIMARY TO STANDBY 查看主库switchover状态 SQL> select database_role,switchover_status from v$database; DATABASE_ROLE SWITCHOVER_STATUS ---------------- -------------------- PHYSICAL STANDBY NOT ALLOWED
---SWITCHOVER_STATUS好像不正常,不过后面测试却是可以的,具体原因,我再研究下下
***************至此,switchover 结束 *********
关于,swithover后,验证数据可行性,上面步骤是有问题的,留下悬念(提示,备库启动时,应该先启动到mount,再recover)
相关文章推荐
- golang--sync.WaitGroup使用示例
- find . -name file -exec echo abc > {} \; fail
- ICPCCamp 2016 Day1 ftiasch's Contest #4(All Pair Shortest Path-位运算)
- Conversion to Dalvik format failed with error 1
- HDU 1021 Fibonacci Again
- 集训队专题(6)1001 Air Raid
- cvWaitKey
- 严重: ContainerBase.addChild: start:
- 结合使用saiku、mondrian workbentch建立多维查询报表
- 结合使用saiku、mondrian workbentch建立多维查询报表
- Educational Codeforces Round 8 F. Bear and Fair Set 最大流
- TableView 的Plain 状态下小细节
- x264(20090216-2245)main函数级的流程图
- AirBnb 等空闲资源分享模式的兴起
- python网络请求和"HTTP Error 504:Fiddler - Receive Failure"
- Codeforces AIM Tech Round (Div. 2) 题解
- sicily——Up Stairs
- Scala的trait
- B - A + B Again
- lintcode-easy-Climbing Stairs