1.先决条件

DGMGRL>  ENABLE FAST_START FAILOVER;
Error: ORA-: requirements not met for enabling fast-start failover
[oracle@vijay02 ~]$ oerr ora
, , "requirements not met for enabling fast-start failover"
// *Cause: The attempt to enable fast-start failover could not be completed
// because one or more requirements were not met:
// - The Data Guard configuration must be in either MaxAvailability
// or MaxPerformance protection mode.
// - The LogXptMode property for both the primary database and
// the fast-start failover target standby database must be
// set to SYNC if the configuration protection mode is set to
// MaxAvailability mode.
// - The LogXptMode property for both the primary database and
// the fast-start failover target standby database must be
// set to ASYNC if the configuration protection mode is set to
// MaxPerformance mode.
// - The primary database and the fast-start failover target standby
// database must both have flashback enabled.
// - No valid target standby database was specified in the primary
// database FastStartFailoverTarget property prior to the attempt
// to enable fast-start failover, and more than one standby
// database exists in the Data Guard configuration.
// *Action: Retry the command after correcting the issue:
// - Set the Data Guard configuration to either MaxAvailability
// or MaxPerformance protection mode.
// - Ensure that the LogXptMode property for both the primary
// database and the fast-start failover target standby database
// are set to SYNC if the configuration protection mode is set to
// MaxAvailability.
// - Ensure that the LogXptMode property for both the primary
// database and the fast-start failover target standby database
// are set to ASYNC if the configuration protection mode is set to
// MaxPerformance.
// - Ensure that both the primary database and the fast-start failover
// target standby database have flashback enabled.
// - Set the primary database FastStartFailoverTarget property to
// the DB_UNIQUE_NAME value of the desired target standby database
// and the desired target standby database FastStartFailoverTarget
// property to the DB_UNIQUE_NAME value of the primary database.

2.设置参数

  a.设置日志同步传输模式

edit database patest set property logxptmode=sync;
edit database satest set property logxptmode=sync;

  b.设置保护模式(MaxAvailability or MaxPerformance)

edit configuration set protection mode as maxavailability;

  c.设置主库故障的转移对象

edit database patest set property FastStartFailoverTarget='satest';
edit database satest set property FastStartFailoverTarget='patest';

  d.主备库设置闪回

3.启用FAST_START FAILOVER

ENABLE FAST_START FAILOVER;

查看状态

DGMGRL> show configuration;

Configuration - dgc

  Protection Mode: MaxAvailability
Databases:
patest - Primary database
Warning: ORA-: fast-start failover observer not started satest - (*) Physical standby database
Warning: ORA-: fast-start failover observer not started Fast-Start Failover: ENABLED    --已开启 Configuration Status:
WARNING

因为没有开启监听器,所以出现警告。

4.开启监听器(监听器可以设置在独立的服务器上,也可以设置为某个节点上,本问设置在节点备库上)

(如果设置在独立的服务器上,要求服务器设置静态监听,和oracle软件)

DGMGRL> START OBSERVER
Observer started
.......

以上是开启监听器的命令,监听器开启后,界面无法返回。

以下是dgmgrl状态信息

DGMGRL> show configuration;

Configuration - dgc

  Protection Mode: MaxAvailability
Databases:
patest - Primary database
satest - (*) Physical standby database Fast-Start Failover: ENABLED    --已开启,没有警告信息,配置文件状态为SUCCUSS Configuration Status:
SUCCESS

5.模拟自动故障转移

  a.假设主库故障(shutdown abort)

  b监听器提示

DGMGRL> START OBSERVER
Observer started ::16.05 Wednesday, December ,
Initiating Fast-Start Failover to database "satest"...
Performing failover NOW, please wait...
Failover succeeded, new primary is "satest"
::19.50 Wednesday, December ,

  以上提示,已自动启用备库为主库

  c.dgmgrl状态信息

DGMGRL> show configuration;

Configuration - dgc

  Protection Mode: MaxAvailability
Databases:
satest - Primary database
Warning: ORA-: unsynchronized fast-start failover configuration patest - (*) Physical standby database (disabled)
ORA-: the standby database needs to be reinstated Fast-Start Failover: ENABLED Configuration Status:
WARNING

  d.尝试修复故障库,把故障库启动到mount状态

  e.监听器自动开始修复故障库

DGMGRL> START OBSERVER
Observer started ::16.05 Wednesday, December ,
Initiating Fast-Start Failover to database "satest"...
Performing failover NOW, please wait...
Failover succeeded, new primary is "satest"
::19.50 Wednesday, December , ::02.03 Wednesday, December ,
Initiating reinstatement for database "patest"...
Reinstating database "patest", please wait...
Operation requires shutdown of instance "atest" on database "patest"
Shutting down instance "atest"...
Unable to connect to database
ORA-: Connect failed because target host or object does not exist Failed.
Warning: You are no longer connected to ORACLE. Please complete the following steps and reissue the REINSTATE command:
shut down instance "atest" of database "patest"
start up and mount instance "atest" of database "patest" ::20.82 Wednesday, December ,

  f.根据监听器提示重启故障库至mount

  g.查看dgmgrl状态信息

DGMGRL> show configuration;

Configuration - dgc

  Protection Mode: MaxAvailability
Databases:
satest - Primary database
Warning: ORA-: unsynchronized fast-start failover configuration patest - (*) Physical standby database (disabled)
ORA-: the standby database needs to be reinstated Fast-Start Failover: ENABLED Configuration Status:
WARNING

  h.reinstate故障库

DGMGRL> reinstate database patest;
Reinstating database "patest", please wait...
Reinstatement of database "patest" succeeded

  i.查看dgmgrl状态信息

DGMGRL> reinstate database patest;
Reinstating database "patest", please wait...
Reinstatement of database "patest" succeeded
DGMGRL> show configuration; Configuration - dgc Protection Mode: MaxAvailability
Databases:
satest - Primary database
patest - (*) Physical standby database Fast-Start Failover: ENABLED Configuration Status:
SUCCESS

状态已恢复。

6.关闭自动故障转移

DGMGRL> stop observer
Done.
DGMGRL> disable fast_start failover;
Disabled.

查看dgmgrl状态信息

DGMGRL> show configuration;

Configuration - dgc

  Protection Mode: MaxAvailability
Databases:
satest - Primary database
patest - Physical standby database Fast-Start Failover: DISABLED --已禁用 Configuration Status:
SUCCESS

7.小结:

快速故障转移可能会导致数据丢失,慎用!

监听器最好设置在独立的服务器上!

DGbroker快速失败转移的更多相关文章

  1. 集合迭代器快速失败行为及CopyOnWriteArrayList

    以下内容基于jdk1.7.0_79源码: 什么是集合迭代器快速失败行为 以ArrayList为例,在多线程并发情况下,如果有一个线程在修改ArrayList集合的结构(插入.移除...),而另一个线程 ...

  2. Java 集合快速失败异常

    快速失败 在JDK中,查看集合有很多关于快速失败的描述: 注意,此实现不是同步的.如果多个线程同时访问一个哈希映射,而其中至少一个线程从结构上修改了该映射,则它必须 保持外部同步.(结构上的修改是指添 ...

  3. Java笔记-快速失败and安全失败

    参考资料:http://blog.csdn.net/chenssy/article/details/38151189 快速失败 fail-fast 安全失败 fail-safe java.util包下 ...

  4. arrayList里的快速失败

    快速失败是指某个线程在迭代集合类的时候,不允许其他线程修改该集合类的内容,这样迭代器迭代出来的结果就会不准确. 比如用iterator迭代collection的时候,iterator就是另外起的一个线 ...

  5. (简单易懂)Java的快速失败(fail-fast)与安全失败,源码分析+详细讲解

    之前在程序中遇到快速失败的问题,在网上找解释时发现网上的问题总结都比较片面,故打算自己总结一个,也可以供以后参考. --宇的季节 首先什么是快速失败? 快速失败是为了提示程序员在多线程的情况下不要用线 ...

  6. 快速失败机制--fail-fast

    fail-fast 机制是Java集合(Collection)中的一种错误机制.当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast(快速失败)事件.例如:当某一个线程A通过iter ...

  7. 快速失败(fail-fast)和安全失败(fail-safe)的区别

    1.fail-fast和fail-safe比较 Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响.java.util包下面的所有的集合类都是快速失败的,而java.ut ...

  8. Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)

    声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...

  9. 快速失败/报错机制 - fail-fast

    一.快速报错机制(fail-fast) 这是<Java编程思想>中关于快速报错机制的描述 Java容器有一种保护机制,能够防止多个进程同时修改同一个容器的内容.如果在你迭代遍历容器的过程中 ...

随机推荐

  1. 异常:Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Compilation failed; see the compiler error output for details.

    碰到这个异常我也是挺无语的,因为Android Studio根本不会提示你详细的错误信息. 我们来看看这个博主:http://blog.csdn.net/runner__1/article/detai ...

  2. R中利用apply、tapply、lapply、sapply、mapply、table等函数进行分组统计

    apply函数(对一个数组按行或者按列进行计算): 使用格式为: apply(X, MARGIN, FUN, ...) 其中X为一个数组:MARGIN为一个向量(表示要将函数FUN应用到X的行还是列) ...

  3. Python python的输入输出

    #-*- coding:utf-8 -*- #屏蔽中文乱码方案一(官方推荐) #这个语句必须顶行写 #屏蔽中文乱码方案二(不建议使用) '''#coding=utf-8 ''' #input(),输入 ...

  4. MFC 窗体注册 WNDCLASS

    //初始化 //初始化包括窗口类的定义.注册.创建窗口实例和显示窗口四部分 { HWND hwnd; MSG Msg; WNDCLASS wndclass; char lpszClassName[]= ...

  5. MySQL 常用语法 之 DISTINCT

    DISTINCT作用很简单就是去除重复行的数据. 具体看下面列子 表A数据[两条 nami 99] nameA   scoreA robin    98 nami    99 saber  98 lu ...

  6. am335x reboot 命令分析

    本文记录am335x运行reboot命令时,内核中运行过程. Tony Liu, 2016-6-8, Shenzhen 参考链接: http://blog.csdn.net/wavemcu/artic ...

  7. linux -- ubuntu 安装apache后,修改默认路径

    默认由apt方式安装的Apache,指定网页主目录位于:/var/www 而系统/var所分到的空间太少,所以要换路径 1.修改默认网站目录 ubuntu8.10下修改apache2的默认文档目录 默 ...

  8. struts2将数据通过Json格式显示于EasyUI-datagrid数据表格

    1.搭建ssh开发环境 2.写好Dao.service等方法 3.建立DTO数据传输对象: package com.beichende.sshwork.user.web.dto; import jav ...

  9. js正则表达式的基本语法

    1.正则表达式基本语法 创建正则表达式 var re = new RegExp();//RegExp是一个对象,和Aarray一样 //但这样没有任何效果,需要将正则表达式的内容作为字符串传递进去 r ...

  10. tiny6410SDK制作NFS文件系统

    1.初次编译内核出现问题 解决方法:将uboot的tools目录 下的mkimage拷贝到/bin/下. 2.开机后终端出现mmc0: error -110 whilst initialising S ...