dataguard 主备切换(无损切换switchover)
来源:互联网 发布:寻秦ol源码 编辑:程序博客网 时间:2024/04/27 00:05
一、环境介绍:
参数规划:
数据库 db_name sid instance_name service_names db_unique_name fal_server fal_client
主 库 dg1 dg1 dg1 dg1 dg1 bdg2 dg1
备库 dg1 dg1 dg1 bdg2 bdg2 dg1 bdg2
操作系统:CentOS Linux release 6.0 (Final)
数据库:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
dg模式:物理dg
SQL> select protection_mode, protection_level from v$database;
PROTECTION_MODE PROTECTION_LEVEL
-------------------- --------------------
MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE
二、正常主备切换(switchover)
主库:
在primary数据库检查是否支持switchover操作
1、 SQL>select open_mode,switchover_status,database_role from v$database;
SWITCHOVER_STATUS
--------------------
TO STANDBY
如果该列值为”TO STANDBY”则表示primary数据库支持转换为STANDBY角色
注意:1、如果是第一次做Switchover的话,这里应该是SESSIONS ACTIVE状态,不用理会他,继续下面的操作.
2、在primary数据库启动switchover,先把primary转换为standby的角色
当switchover_status为SESSIONS ACTIVE时,(说明有会话连接)
alter database commit to switchover to physical standby with session shutdown;
否则执行
SQL> alter database commit to switchover to physical standby;
Database altered.
执行完上个语句,primary会变成standby数据库,并备份控制文件到trace
此时查看dg2状态,备库dg2状态会由NOT ALLOWED变成TO PRIMARY
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
MOUNTED TO PRIMARY PHYSICAL STANDBY
3、在primary数据库重启动到mount
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount;
此时查看dg1,成功切换成备库了,同dg2状态一样,见上图。
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
MOUNTED TO PRIMARY PHYSICAL STANDBY
4、(开启standby应用恢复模式)
SQL> alter database recover managed standby database disconnect;--接收日志
Database altered.
5、再次查看状态
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
MOUNTED TO PRIMARY PHYSICAL STANDBY
备库:
在STANDBY数据库上检查是否支持switchover操作
[oracle@dg2 ~]$ sqlplus / as sysdba
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
MOUNTED TO PRIMARY PHYSICAL STANDBY
值为”TO PRIMARY”,说明支持转换.
2、 在STANDBY数据库转换角色到Primary
[oracle@dg2 ~]$ sqlplus / as sysdba
SQL> alter database commit to switchover to primary;
Database altered.
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
MOUNTED NOT ALLOWED PRIMARY
SQL> alter database open; //如果处于read-only状态,需要先shutdown再startup;
Database altered.
查看下dg2状态:
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
READ WRITE NOT ALLOWED PRIMARY
最后验证一下:
验证数据是否可以同步,按照以前的测试方法进行测试
在新的primary数据库上执行
SQL> show parameter db_unique
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string bdg2
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
143
SQL> alter system switch logfile;
System altered.
切换成功
dg1:
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
READ ONLY WITH APPLY NOT ALLOWED PHYSICAL STANDBY
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
153
dg2:
SQL> select open_mode,switchover_status,database_role from v$database;
OPEN_MODE SWITCHOVER_STATUS DATABASE_ROLE
-------------------- -------------------- ----------------
READ WRITE TO STANDBY PRIMARY
- dataguard 主备切换(无损切换switchover)
- Oracle dataguard 主备切换switchover
- oracle dataguard switchover切换
- DataGuard切换-switchover
- Oracle学习之:DataGuard中 Switchover 主、备切换
- Oracle dataguard之主备库切换(switchover)
- 【DATAGUARD】物理dg的switchover切换(五)
- dataguard 主备切换
- dataguard 主备切换
- DataGuard主备切换及故障切换
- DataGuard之DG 故障切换(switchover和failover)以及利用flashback 进行恢复
- dataguard手动switchover切换步骤及注意的问题
- DATAGUARD在做SWITCHOVER切换时遇到问题总结
- DATAGUARD主备数据库切换
- Oracle12cR1 DataGuard的主备切换
- Switchover 切换步骤
- DG switchover切换异常
- Oracle Data Guard Switchover 切换
- aspxbutton 客户端点击事件 aspximage客户端自适应图片高宽度
- java android HTTP应用程序设计
- C++中引用、指针的指针、指针的引用解析
- UVaOJ_10003 - Cutting Sticks
- Android 来电话弹出自己的Activity
- dataguard 主备切换(无损切换switchover)
- Python引用多层目录结构的包里的Module
- 汉诺塔问题——递归
- ONE源代码分析——movement3之MapRouteMovement
- 一个生成指定大小文件的东东
- 相关博客
- SharedPreferences的用法
- 7.Cocos2d-x中convertToWorldSpace方法的理解及坐标转换的一些方法。
- hdu 1558 判断线段相交 + 并查集