您的位置:首页 > 大数据 > 人工智能

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 、三种模式的切换

一、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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: