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. CentOS生产机器禁止ROOT远程SSH登录

    方法一 很多站长拥有linux主机,不管是虚拟机还是实体机,一般我们远程连接的时候,都是用的ssh(SecureShell建立在应用层和传输层基础上的安全协议). 它默认的端口22,默认使用root也 ...

  2. 一个快速、完善的Android开发框架整合实践(QuickAndroid)

    https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndr ...

  3. sqlserver 登录失败——孤立用户

    USE (数据库实例)hhwz; GO sp_change_users_login @Action='update_one', @UserNamePattern='数据库用户', @LoginName ...

  4. JavaScript-CheckBox全选/反选

    //------------------------------------ // 全/反选 // param checkName checkbox的name属性 //---------------- ...

  5. spark基础练习(未完)

    1.filterval rdd = sc.parallelize(List(1,2,3,4,5))val mappedRDD = rdd.map(2*_)mappedRDD.collectval fi ...

  6. python 解析json

    一.概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...

  7. android js调试

    http://blog.allenm.me/ 其他平台去这篇文章看 //js调试调试功能支持4.4版本以上的 if(Build.VERSION.SDK_INT >= Build.VERSION_ ...

  8. storyBoard中切换应用启动的切入点方法

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...

  9. Python标准库的学习准备

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python标准库是Python强大的动力所在,我们已经在前文中有所介绍.由于标准 ...

  10. Python深入04 闭包

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 闭包(closure)是函数式编程的重要的语法结构.函数式编程是一种编程范式 (而 ...