Switchover,无损切换,通常是用户手动触发或者有计划地让其自动触发,如硬件升级等。

步骤:

1、Primary数据库转换为StandBy角色

2、StandBy数据库(之一)转换为Primary角色

准备工作:

1、检查待转换角色的数据库参数配置正确

2、检查即将成为Primay的物理Standby服务器是否是归档模式

3、确保所有的归档日志已经传送到物理StandBy数据库

主库可以手动切换一次logfile

Primary>alter system switch logfile;

查询主库当前的归档日志sequence#

Primary>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
22

查询备库当前的归档日志sequence#

StandBY>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
22

两者相同,代表已经完全同步

然后再暂停备库的redo应用

StandBy>alter database recover managed standby database cancel;

Database altered.

一、查询是否可以转换

查询主库是否支持switchover操作
Primary> select file_name, bytes from dba_temp_files;
SWITCHOVER_STATUS
----------------------------------------
TO STANDBY

如果是SWICHOVER_STATUS显示为SESSIONS ACTIVE, 说明当前有人连接Primary数据库

  查询备库是否支持switchover操作
StandBy> select switchover_status from v$database;

SWITCHOVER_STATUS
----------------------------------------
NOT ALLOWED

NOT ALLOWED是因为主库还未变切换为standby

二、primary数据库切换为物理standby

Primary—>StandBy

Primary>alter database commit to switchover to physical standby;

Database altered.

此时Primary数据库变为mount状态

Primary>select open_mode from v$database;

OPEN_MODE
----------------------------------------
MOUNTED
 

角色也变为physical standby

Primary>select database_role from v$database;

DATABASE_ROLE
--------------------------------
PHYSICAL STANDBY

如果此时打开数据库,为只读状态

Primary>alter database open;

Database altered.

Primary>select open_mode from v$database;

OPEN_MODE
----------------------------------------
READ ONLY Primary>
 

三、StandBy数据库转换为Primary角色

StandBy--->Primary

StandBy>select switchover_status from v$database;

SWITCHOVER_STATUS
----------------------------------------
TO PRIMARY StandBy> alter database commit to switchover to primary; Database altered. StandBy>alter database open; Database altered. StandBy>select open_mode from v$database; OPEN_MODE
----------------------------------------
READ WRITE StandBy>select database_role from v$database; DATABASE_ROLE
--------------------------------
PRIMARY StandBy>

四、同步测试

1、当前的Primay数据库插入一条数据

Primay>select * from scott.dept;

    DEPTNO DNAME            LOC
---------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
12 OPERATIONS OPERATIONS
13 OPERATIONS OPERATIONS 6 rows selected. Primay>INSERT INTO "SCOTT"."DEPT" ("DEPTNO", "DNAME", "LOC") VALUES ('14', 'OPERATIONS', 'OPERATIONS'); 1 row created. StandBY>commit; Commit complete. Primay>select * from scott.dept; DEPTNO DNAME LOC
---------- ---------------------------- --------------------------
14 OPERATIONS OPERATIONS
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
12 OPERATIONS OPERATIONS
13 OPERATIONS OPERATIONS 7 rows selected.

2、当前的StandBy启用redo应用

实时redo应用的情况

Primary>alter database recover managed standby database using current logfile  disconnect from session;

Database altered.

非实时redo应用的情况

-----应用redo
alter database recover managed standby database disconnect from session;
-----暂停redo应用
alter database recover managed standby database cancel;

查询

Primary>select * from scott.dept;

    DEPTNO DNAME            LOC
---------- ---------------------------- --------------------------
14 OPERATIONS OPERATIONS
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
12 OPERATIONS OPERATIONS
13 OPERATIONS OPERATIONS 7 rows selected.

 

无法同步的情况问题解决

1、如果无法同步,切换日志试试

StandBY>alter system switch logfile;

查询Priamry和StandBy的归档日志编号是否相同

StandBY>select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------
22

2、查看配置的服务名中的service_name 和lsnrctl status中的是否相同

DataGuard---->物理StandBy的角色切换之switchover的更多相关文章

  1. (摘)DataGuard物理standby管理 - 主备切换

    DataGuard物理standby管理 - 主备切换 Dataguard的切换分为两种,switchover和failover. switchover一般用于数据库或硬件升级,这时只需要较短时间中断 ...

  2. Oracle 12C 物理Standby 主备切换switchover

    Oracle 12C 物理Standby 主备切换switchover Oracle 12C 物理Standby 主备切换switchover Table of Contents 1. 简述 2. 切 ...

  3. ORACLE11g Dataguard物理Standby 日常巡检操作手册

    ORACLE11g Dataguard物理Standby日常巡检操作手册 编写:_____________校对:_____________日期:_____________ 目录1.DG环境的日常巡检 ...

  4. Oracle DataGuard 物理Standby 搭建(下)

    主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUAR ...

  5. Oracle DataGuard 物理Standby 搭建(上)

    物理standby database 环境搭建 Arch asysnc Oracle Dataguard host IP Oracle_sid DB_unique_name FAL_server FA ...

  6. dataGuard主备库角色切换

    切换顺序: 先主库后备库 --查看主库可切换状态: SQL> select switchover_status from v$database; SWITCHOVER_STATUS ------ ...

  7. DataGuard相同SID物理Standby搭建

    Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受 ...

  8. 【DATAGUARD】物理dg的failover切换(六)

    [DATAGUARD]物理dg的failover切换(六) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...

  9. Duplicate复制数据库并创建物理StandBy(spfile+不同实例名+不同路径)

    过程和Duplicate复制数据库并创建物理StandBy类似,只是不需要重启数据库. 目的:创建standby,不重启源数据库 1设定环境如下: Primary数据库 IP 172.17.22.16 ...

随机推荐

  1. 步步为营-63-Asp.net-get与post

    1 get Get方式将数据发送到服务端,那么会将用户在表单中的数据放置到浏览器的地址栏中发送到服务器 格式:表单元素name属性的值=用户输入的值 请求地址:http://localhost:594 ...

  2. 2018-2019 2 20165203 《网络对抗技术》Exp6 信息搜集与漏洞扫描

    2018-2019 2 20165203 <网络对抗技术>Exp6 信息搜集与漏洞扫描 实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 实践内容 (1)各种搜索技巧的应用 (2) ...

  3. Java Timer, TimerTask, Timer.Schedule

    schedule的意思(时间表.进度表) timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);timer.schedule(new M ...

  4. 51Nod 算法马拉松28 A题 先序遍历与后序遍历 分治

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - 51Nod1832 题意概括 对于给定的一个二叉树的先序遍历和后序遍历,输出有多少种满足条件的二叉树. 两棵二 ...

  5. PhotoShop 常用快捷键

    PhotoShop: ctrl+j 复制一块图层ctrl+t 自由变换钢笔画出来的是路径不是选区,将路径转化成选区:ctrl+回车 alt+delete 直排文字蒙版ctrl+d 取消选择中括号可改变 ...

  6. window版chrome 57.0.2970.0 (64-bit)滚动条的BUG

    有一个元素div,它有一个子元素ul,给div添加一个:hover样式{color: red},挡鼠标hover div时,字体变红. 当鼠标hover div时,ul字体变红,鼠标hover ul的 ...

  7. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  8. u3d 创建元件 预制件 U3d creates component prefabricated parts

    u3d 创建元件 预制件 U3d creates component prefabricated parts 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@ ...

  9. JVM笔记(一)数字在JVM中的表示

    数字在JVM中的表示 一.整数在JVM中的表示 1.在Java虚拟机中,整数有四种表示: byte:8位        short:16位     int:32位     long:64位 2.原码. ...

  10. 20172302 《Java软件结构与数据结构》第四周学习总结

    2018年学习总结博客总目录:第一周 第二周 第三周 第四周 教材学习内容总结 第六章 列表 1.列表是对象的有序集合,在 List 界面中定义. List 接口表示集合框架中的列表.列表可以具有重复 ...