1.首先要应用日志,保持主备库一致:

备库:SBDB@SYS> recover managed standby database using current logfile disconnect from session;
Media recovery complete.

2.查看主备状态:

(1)主库:
ORA11GR2@SYS> select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ WRITE MAXIMUM PERFORMANCE PRIMARY SESSIONS ACTIVE (2)备库:
SBDB@SYS> select open_mode,protection_mode,database_role,switchover_status from v$database; OPEN_MODE PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
READ ONLY MAXIMUM PERFORMANCE PHYSICAL STANDBY NOT ALLOWED

3.把主库切换为备库,重启后检查SWITCHOVER_STATUS为RECOVERY NEEDED:

ORA11GR2@SYS> alter database commit to switchover to physical standby with session shutdown;

Database altered.

ORA11GR2@SYS> shutdown abort
ORACLE instance shut down.
ORA11GR2@SYS> startup mount
ORACLE instance started. Total System Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 570428536 bytes
Database Buffers 255852544 bytes
Redo Buffers 2392064 bytes
Database mounted.
ORA11GR2@SYS> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
RECOVERY NEEDED

4.转换完备库恢复日志后,SWITCHOVER_STATUS为TO PRIMARY:

ORA11GR2@SYS>  recover managed standby database using current logfile disconnect from session;
Media recovery complete.
ORA11GR2@SYS> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
TO PRIMARY

5.查看备库的状态,并应用日志,只有当SWITCHOVER_STATUS是sessions active或者是to_primary状态时才可以切换角色:

SBDB@SYS> recover managed standby database using current logfile disconnect from session;
Media recovery complete.
SBDB@SYS> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

6.切换备库并查看database_role,正常为primary:

SBDB@SYS>  alter database commit to switchover to primary with session shutdown;

Database altered.

SBDB@SYS>  alter database open;

Database altered.

SBDB@SYS>  select database_role from v$database;

DATABASE_ROLE
----------------
PRIMARY SBDB@SYS> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
RESOLVABLE GAP

7.转换后在备库(切换之前的主库)应用日志,并查看状态:

ORA11GR2@SYS>  recover managed standby database using current logfile disconnect from session;
ORA-01153: an incompatible media recovery is active ORA11GR2@SYS> recover managed standby database cancel;
Media recovery complete.
ORA11GR2@SYS> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
NOT ALLOWED ORA11GR2@SYS> select database_role from v$database; DATABASE_ROLE
----------------
PHYSICAL STANDBY

8.再次查看转换后主库(切换之前的备库)的switchover_status,正常应为TO STANDBY:

SBDB@SYS> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO STANDBY

【测试】DG的主切备,备切主的更多相关文章

  1. haproxy+keepalived主备与双主模式配置

    Haproxy+Keepalived主备模式 主备节点设置 主备节点上各安装配置haproxy,配置内容且要相同 global log 127.0.0.1 local2 chroot /var/lib ...

  2. nginx+keepalived 简单实现主备和双主模式

    准备nginx和keepalived 安装nginx(自行安装) yum install nginx 安装keepalived(安装包安装总报错,yum安装能好一点) yum install keep ...

  3. (转)硬盘分区备忘(主分区,扩展分区和逻辑分区)以及Linux硬盘分区工具parted 介绍

    场景:最近在学习Linux的基础知识,不可避免的设计到Linux的磁盘分区,以前做过总结,但是那种总结就是复制别人的文章,总结完就不想看第二遍,所以很容易就遗忘了!清楚明白的理解分区后,我就可以在自己 ...

  4. 22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表。然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法showB输出大写的英文字母表。最后编写主类C,在主类的main方法 中测试类A与类B。

    22.编写一个类A,该类创建的对象可以调用方法showA输出小写的英文字母表.然后再编写一个A类的子类B,子类B创建的对象不仅可以调用方法showA输出小写的英文字母表,而且可以调用子类新增的方法sh ...

  5. Mycat探索之旅(4)----Mycat的自增长主键和返回生成主键ID的实现

    说明:MyCAT自增长主键和返回生成主键ID的实现 1) mysql本身对非自增长主键,使用last_insert_id()是不会返回结果的,只会返回0:这里做一个简单的测试 创建测试表 ------ ...

  6. 从零开始学 Java - Spring 一主多从、多主多从 数据库配置

    待会苹果要开发布会 我写完这篇文章就准备去看发布会了,因为我买了好几包瓜子和啤酒.由于苹果的保密做的越来越差劲,该曝光的信息差不多全部曝光了,我们这种熬夜看发布会的只不过是让这些信息更加真实,或者说是 ...

  7. MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键

    MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...

  8. 如何让窗口控件半透明(控件在Paint自己时,首先向主窗口询问,获取主窗口上控件所在区域的背景图)

    在网上关于窗口视觉效果,有2个问题被问得最多:第一个是如何让窗口边框有阴影效果?第二个是如何让窗口控件有半透明效果? 对于第一个问题,我们的答案是用双层窗口模拟或是用Layered Window.在X ...

  9. oracle 主键删除,联合主键的创建

    1,主键的删除  ALTER TABLE TABLENAME DROP PRIMARY_KEY 运行上面的SQL能够删除主键:假设不成功能够用 ALTER TABLE TABLENAME DROP C ...

  10. Spring学习总结(18)——Spring整合Mysql数据库一主多从、多主多从配置

    一.新建jdbc.properties配置文件 master.jdbc.driverClassName=com.mysql.jdbc.Driver master.jdbc.url=jdbc:mysql ...

随机推荐

  1. bzoj3917: [Baltic2014]sequence

    Description  序列A由从N开始的连续K个数按顺序构成,现在将A中的每个数只保留某一个数码,记为序列B,给定K和B,求可能的最小的N Input 第一行一个数K,第二行K个数B_i Outp ...

  2. nginx按天切割日志

    原文链接:http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html  本文只节选部分内容 Nginx自己没有日志分割的功能,一旦时间过长 ...

  3. android关于AndroidManifest.xml详细分析

    http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必 ...

  4. 进程间的通讯(IPC)方式

    内存映射 为什么要进行进程间的通讯(IPC (Inter-process communication)) 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据 ...

  5. 49. Group Anagrams

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  6. 【MySQL】原理 之 事务

    1.MySQL逻辑架构大致分为:连接认证层,核心服务层,存储引擎层. 2.锁策略,需要在开销和数据的安全性之间寻求平衡,这种平衡会影响到性能. 3.写锁优先于读锁. 4.行级锁只在存储引擎层实现,而M ...

  7. PHP “Warning: session_start()...”、"correct (..\..\php5\Temp) in Unknown on line 0" 的解决方法

    运行php的时候出现了一下警告: Warning: Unknown: open(D:/Program Files/php5/temp1\sess_l5b1a48m6kmb1g0t5cs33690v0, ...

  8. 黄聪:WordPress 函数:add_filter()(添加过滤器)

    add_filter() 可以挂载一个函数到指定的过滤器上. 用法 add_filter( $tag, $function_to_add, $priority, $accepted_args ); 参 ...

  9. JavaScript正则详谈

    JavaScript RegExp 基础详谈   前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果 ...

  10. windows下boost库的基本使用方法

    因为boost都是使用模板的技术,所以所有代码都是写在一个.hpp头文件中.这样boost中的大部分内容是不需要编译生成相应的链接库,只需要设置下面的包含目录(或者设置一下环境变量),在源文件中包含相 ...