1、修改保护模式

  1. DGMGRL> edit configuration set protection mode as maxAvailability;
  2. Succeeded.

2、修改日志同步方式

  1. DGMGRL> show database verbose xiaohe 'LogXptMode'
  2. LogXptMode = 'ASYNC'
  3. DGMGRL> show database verbose xiaohedg 'LogXptMode'
  4. LogXptMode = 'ASYNC'
  5. DGMGRL> edit database xiaohe set property LogXptMode = 'SYNC';
  6. Property "logxptmode" updated
  7. DGMGRL> edit database xiaohedg set property LogXptMode = 'SYNC';
  8. Property "logxptmode" updated
  9. DGMGRL>
  10. DGMGRL> show database verbose xiaohe 'LogXptMode'
  11. LogXptMode = 'SYNC'
  12. DGMGRL> show database verbose xiaohedg 'LogXptMode'
  13. LogXptMode = 'SYNC'

3、在dgmgrl中配置主库与standby数据库的FastStartFailoverTarget属性

  1. DGMGRL> show database verbose xiaohe 'FastStartFailoverTarget';
  2. FastStartFailoverTarget = 'xiaohedg'
  3. DGMGRL> show database verbose xiaohedg 'FastStartFailoverTarget';
  4. FastStartFailoverTarget = 'xiaohe'

这里已经不用配置了, 如果需要配置, 使用如下的命令:
edit database xiaohedg set property FastStartFailoverTarget='xiaohe';

4、启动observer

DGMGRL> start observer
Observer started


5、在另外一个终端查看failover状态

可以看到Observer: xiaohe_dg1, 这里监控的就是主库。

  1. DGMGRL> show fast_start failover
  2. Fast-Start Failover: DISABLED
  3. Threshold: 30 seconds
  4. Target: (none)
  5. Observer: xiaohe_dg1
  6. Lag Limit: 30 seconds
  7. Shutdown Primary: TRUE
  8. Auto-reinstate: TRUE
  9. Configurable Failover Conditions
  10. Health Conditions:
  11. Corrupted Controlfile YES
  12. Corrupted Dictionary YES
  13. Inaccessible Logfile NO
  14. Stuck Archiver NO
  15. Datafile Offline YES
  16. Oracle Error Conditions:
  17. (none)


6、激活failover功能

  1. DGMGRL> enable fast_start failover;
  2. Enabled.

7、模拟故障

(1)、将主库给shutdown abort
  1. SQL> shutdown abort;
  2. ORACLE instance shut down.

(2)、等一两分钟, 查看observer的日志
  1. DGMGRL> start observer
  2. Observer started
  3. 23:56:08.19 Saturday, March 18, 2017
  4. Initiating Fast-Start Failover to database "xiaohe"...
  5. Performing failover NOW, please wait...
  6. Failover succeeded, new primary is "xiaohe"
  7. 23:56:11.64 Saturday, March 18, 2017


(3)、查看备库是否已经切换为主库
  1. SQL> select open_mode from v$database;
  2. OPEN_MODE
  3. --------------------
  4. READ WRITE

(4)、将故障的库重新启动
启动数据库报错:
  1. SQL> startup
  2. ORACLE instance started.
  3. Total System Global Area 839282688 bytes
  4. Fixed Size 2233000 bytes
  5. Variable Size 494931288 bytes
  6. Database Buffers 339738624 bytes
  7. Redo Buffers 2379776 bytes
  8. Database mounted.
  9. ORA-16649: possible failover to another database prevents this database from
  10. being opened



查看日志,下面的红色部分是新产生的日志:

  1. DGMGRL> start observer
  2. Observer started
  3. 23:56:08.19 Saturday, March 18, 2017
  4. Initiating Fast-Start Failover to database "xiaohe"...
  5. Performing failover NOW, please wait...
  6. Failover succeeded, new primary is "xiaohe"
  7. 23:56:11.64 Saturday, March 18, 2017
  8. 00:05:46.24 Sunday, March 19, 2017
  9. Initiating reinstatement for database "xiaohedg"...
  10. Reinstating database "xiaohedg", please wait...
  11. Operation requires shutdown of instance "xiaohedg" on database "xiaohedg"
  12. Shutting down instance "xiaohedg"...
  13. ORA-01109: database not open
  14. Database dismounted.
  15. ORACLE instance shut down.
  16. Operation requires startup of instance "xiaohedg" on database "xiaohedg"
  17. Starting instance "xiaohedg"...
  18. ORACLE instance started.
  19. Database mounted.
  20. Continuing to reinstate database "xiaohedg" ...
  21. Reinstatement of database "xiaohedg" succeeded
  22. 00:06:42.78 Sunday, March 19, 2017

等了几分钟后, 数据库自动恢复正常了。

经测试, 但故障的库只需要启动到mount状态, failover就能自动将库打开。


















DataGuard开启failover的更多相关文章

  1. DataGuard开启延时应用的测试

    DataGuard开启延时应用的测试 实验环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB + Primary RAC(2 nodes)+ Standby RAC(2 nodes ...

  2. Oracle Dataguard之failover

    Oracle Dataguard中,角色转换包含两类:Switchover和Failover.上文<Oracle Dataguard之switchover>中,我们已经谈过了switcho ...

  3. 物理dataguard 正常切换 脚色转换,switchover_status 状态改变

    正常切换切换前: 主库:SQL> select DATABASE_ROLE from v$database;DATABASE_ROLE----------------PRIMARY SQL> ...

  4. Redis Sentinel:集群Failover解决方案(转载)

    本文转载自:http://shift-alt-ctrl.iteye.com/blog/1884370 文中的配置例子,还有failover过程中触发的订阅事件具有很好的参考价值. Redis sent ...

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

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

  6. 基于Dubbo框架构建分布式服务(一)

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  7. redis 集群热备自动切换sentinel配置实战

    ---恢复内容开始--- Redis SentinelSentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中一.Sentinel作用:1): ...

  8. redis高可用之REDIS SENTINEL

    1. Redis主从配置 1.1. 设置主从复制 Master <= Salve 10.24.6.5:6379 <= 10.24.6.7:6379 1.2.   取消主从复制 1.3.   ...

  9. 基于Dubbo框架构建分布式服务

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

随机推荐

  1. 纯 CSS 实现绘制各种三角形(各种角度)

    一.前言 三角形实现原理:宽度width为0:height为0:(1)有一条横竖边(上下左右)的设置为border-方向:长度 solid red,这个画的就是底部的直线.其他边使用border-方向 ...

  2. hdu6703_array

    题意 给定一个1到\(n\)的全排列,两种操作,将\(a_{pos}\)修改为\(a_{pos}+1000000\),询问第一个大于等于\(k\)的且不在\(a_1...a_r\)的数. 分析 由于\ ...

  3. c++自由的转换string和number

    string转数字 #include <string> #include <sstream> //使用stringstream需要引入这个头文件 //模板函数:将string类 ...

  4. HandlerMethodArgumentResolver(一):Controller方法入参自动封装器【享学Spring MVC】

    每篇一句 你的工作效率高,老板会认为你强度不够.你代码bug多,各种生产环境救火,老板会觉得你是团队的核心成员. 前言 在享受Spring MVC带给你便捷的时候,你是否曾经这样疑问过:Control ...

  5. Interger等包装类的比较

    Integer a = 1; integer b = 1; integer c = 500; integer d=500; System.out.print(a==b); System.out.pri ...

  6. FastDFS初印象

    是什么?         FastDFS是一个轻量级分布式文件系统. 能干嘛?         对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等. 相关概念        ...

  7. CF803G - Periodic RMQ Problem 动态开点线段树 或 离线

    CF 题意 有一个长度为n × k (<=1E9)的数组,有区间修改和区间查询最小值的操作. 思路 由于数组过大,直接做显然不行. 有两种做法,可以用动态开点版本的线段树,或者离线搞(还没搞)( ...

  8. codeforces 873 D. Merge Sort(分治)

    题目链接:http://codeforces.com/contest/873/problem/D 题解:这题挺简单的,除了一开始算作是调用到一次,然后每次执行操作时都会调用2次,所以最多调用几次就很好 ...

  9. 用深度学习技术FCN自动生成口红

    1 这个是什么?        基于全卷积神经网络(FCN)的自动生成口红Python程序. 图1 FCN生成口红的效果(注:此两张人脸图来自人脸公开数据库LFW) 2 怎么使用了?        首 ...

  10. R语言基础入门

    请先安装好R和RStudio 如果不干别的,控制台就是一个内置计算器 2 * 3 #=> 6 sqrt(36) #=> 6, square root log10(100) #=> 2 ...