1. switchover操作

1.1 备库先关闭实时日志应用

standby>alter database recover managed standby database cancel;

1.2 主库先判断是否可以支持switchover操作

primary> select switchover_status from v$database;

该值为:TO STANDBY;表示支持。
该值为:SESSION ACTIVE;表示主库有激活会话。不妨碍switchover操作。

1.3 启动switchover;主库转换physical standby。

若上值为第二种情况;后面需加 with shutdown session
即 alter database commit to switchover to physical standby with shutdown session;

primary> alter database commit to switchover to physical standby;
Database altered.

1.4 重启原primary库

Primary> shutdown immediate;

ORA : database not mounted
ORACLE instance shut down.
Primary> startup
ORACLE instance started.

Total System Global Area .5132E bytes
Fixed Size             bytes
Variable Size          bytes
.3086E bytes
Redo Buffers            bytes
Database mounted.
Database opened.

1.5 物理standby切换为primary

standby>alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line :
ORA: media recovery required
standby>alter database recover managed standby database disconnect from session;
Database altered.
standby>alter database commit to switchover to primary;
Database altered.

1.6 重启新primary

standby> alter database open;
Database altered.

1.7 新physical standby启动实时日志应用

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

2.failover操作

模拟主库挂掉

Primary> shutdown abort;
ORACLE instance shut down.

2.1 检查归档文件是否连续

查询待转换standby 数据库的V$ARCHIVE_GAP 视图,确认归档文件是否连接

StandBy>  SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
no rows selected

如果有,则拷贝过来;
手工的注册这些日志:
StandBy> ALTER DATABASE REGISTER LOGFILE '路径';

2.2 启动failover,备库切换主库操作。

StandBy> alter database recover managed standby database finish force;
Database altered.

StandBy> alter database commit to switchover to primary;
Database altered.

StandBy> alter database open;
Database altered.

2.3 将原primary库重建备库操作

参考博客:http://www.cnblogs.com/lottu/p/7054731.html;http://www.cnblogs.com/lottu/p/7058774.html

实施数据库克隆(辅助实例启动到nomount状态后)

应用redo日志操作;或者 启动实时应用redo日志操作。

参考文献:《三思笔记第10.2.4章节》

Data Guard 主备库角色转换的更多相关文章

  1. 物理Data Guard主备切换步骤

    物理Data Guard角色转换步骤   Step  1   验证主库是否能执行角色转换到备库(原主库执行) SQL> SELECT SWITCHOVER_STATUS FROM V$DATAB ...

  2. dataGuard主备库角色切换

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

  3. [terry笔记]11gR2_dataguard_主备库切换

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

  4. 云计算之路-阿里云上:RDS数据库连接数过万引发故障,主备库切换后恢复正常

    非常抱歉!今天 12:03-12:52 ,由于数据库连接数异常突增超过1万,达到了阿里云RDS的最大连接数限制,影响了全站的正常访问.由此给您带来麻烦,请您谅解. 在发现数据库连接数突增的问题后,我们 ...

  5. 备份一篇SVN的文章, 从搭建到主备库

    来源: http://h2ofly.blog.51cto.com/6834926/1539141 [svn简介]            svn用于版本管理数据,它采用了分支管理系统.在它出现之前存在C ...

  6. MySQL主备库切换(MHA)演练与总结

      演练包括被动切换和主动切换两部分.被动切换是主库宕机,主动切换是人工手动触发.   演练步骤大致如下:       1 先停掉主库,模拟主库宕机     2 mha将vip切到备库,备库变成主库, ...

  7. 物理DG主备库切换时遇到ORA-16139: media recovery required错误

    在物理DG主备库切换时遇到ORA-16139: media recovery required错误 SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRI ...

  8. ADG配置(主备库环境)

    @font-face { font-family: "Courier New"; }@font-face { font-family: "宋体"; }@font ...

  9. Spring Boot中自定义注解+AOP实现主备库切换

    摘要: 本篇文章的场景是做调度中心和监控中心时的需求,后端使用TDDL实现分表分库,需求:实现关键业务的查询监控,当用Mybatis查询数据时需要从主库切换到备库或者直接连到备库上查询,从而减小主库的 ...

随机推荐

  1. Linux epoll版定时器

    #ifndef __MYTIMER_H_ #define __MYTIMER_H_ /*************** 高并发场景下的定时器 *****************/ //定时器回调函数 t ...

  2. mininet安装与简单命令总结

    下载地址:http://mininet.org/ 我下载的是mininet镜像,用于导入windows Vmware中使用 用户名和密码都是mininet 下载后 导入VMware即可 建立一个简单的 ...

  3. webdriver 执行完毕关闭chromedriver进程

    RT 背景:一个网站的登录部分用到了selenium,但是在多次登录之后,发现进程里残留了很多的chromedriver.exe进程.项目打成jar包之后放到另外的机器上跑,发现不久之后就开始卡顿,甚 ...

  4. JDBC结果集

    SQL语句执行后从数据库查询读取数据,返回的数据放在结果集中. SELECT语句用于从数据库中选择行并在结果集中查看它们的标准方法. java.sql.ResultSet接口表示数据库查询的结果集. ...

  5. unity--------prefab嵌套prefab

    最近造了个轮子可以批量替换prefab里的prefab,欢迎大家测试-  https://bitbucket.org/xuanyusong/prefab-replace 最近在做UI部分中遇到了这样的 ...

  6. Linux CPU Load Average

    理解Linux系统负荷 LINUX下CPU Load Average的一点研究 Linux load average负载量分析与解决思路 Understanding Linux CPU Load - ...

  7. 工作所用的日常 Git 命令

    几乎每个开发人员都在使用 Git,当然很可能是 GitHub.但大多数开发者大概有 99% 的时间只是使用这三个命令: #使用命令git add <file>,将文件添加到暂存区 git ...

  8. Java Number类

    一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double等. 例如: int i = 5000; float gpa = 13.65; byte mask ...

  9. sublime text3支持Vue语法高亮显示

    1.下载文件链接: 或https://github.com/vuejs/vue-syntax-highlight 解开压缩包vue-syntax-highlight-master,其内所有文件备用. ...

  10. Gridview各种功能+AspNetPager+Ajax实现无刷新存储过程分页 (留着用)

    存储过程: GetProductsCount1: GetProductsByPage: ) * @PageSize) +' id from test)' exec sp_executesql @sql ...