FAST-START failover 就是在当主数据库出现故障时,能快速与可靠的把standby切换成主数据库,在整个过程中不需要人来干预。fast-start failover只能通过dgmgrl与Enterprise Managerg来配置。

只有maximum availability mode or maximum performance mode才能启用fast-start failover模式。在maximum availability模式下面,在切换时可以保证无数据丢失,在maximum performance mode下面,会有数据丢失,丢失多少数据由 FastStartFailoverLagLimit这个参数来配置。

 只要observer进程启动过,我们就不需要人为的干预。当observer与指定的备数据库与主数据库失去连接的时间超过FastStartFailoverThreshold后,observer就会启动fast-start failover 到备数据库。如果配置了FastStartFailoverPmyShutdown为true,此时原来的主数据库将会自动的shutdown。如果配置FastStartFailoverAutoReinstate为true,当failover完成后,启动数据库时,会自动的执行Reinstate database,把原来的主数据库变成备库,并与新主库进行同步。

  fast-start failover包含3个过程,如下图:

测试开始:
环境:OS REDHAT 5.6 X86_64 ,DB 11.2.0.2
1,DG环境的搭建。
见11GR2 搭建活动的物理DG/DATAGRUAD (READ ONLY模式)
http://luoping.blog.51cto.com/534596/983952
2,broker的配置
见http://luoping.blog.51cto.com/534596/983983
3,配置保护模式与日志传递方式
之前已经说了FAST-START FAILOVER只 maximum availability mode与maximum performance mode
下面我们看一下每一种保护模式对应的日志传递方式。

3.1修改保护模式:

  1. [oracle@test admin]$ dgmgrl
  2. DGMGRL for Linux: Version 11.2.0.2.0 - 64bit Production
  3. Copyright (c) 2000, 2009, Oracle. All rights reserved.
  4. Welcome to DGMGRL, type "help" for information.
  5. DGMGRL> connect sys/oracle@htz
  6. Connected.
  7. #通过help查看命令的帮忙。
  8. DGMGRL> help edit
  9. Edits a configuration, database, or instance
  10. Syntax:
  11. EDIT CONFIGURATION SET PROTECTION MODE AS
  12. {MaxProtection|MaxAvailability|MaxPerformance};
  13. EDIT CONFIGURATION SET PROPERTY <property name> = <value>;
  14. EDIT DATABASE <database name> SET PROPERTY <property name> = <value>;
  15. EDIT DATABASE <database name> RENAME TO <new database name>;
  16. EDIT DATABASE <database name> SET STATE = <state>
  17. [WITH APPLY INSTANCE = <instance name>];
  18. EDIT INSTANCE <instance name> [ON DATABASE <database name>]
  19. SET AUTO PFILE [ = {<initialization file path>|OFF} ];
  20. EDIT INSTANCE <instance name> [ON DATABASE <database name>]
  21. SET PROPERTY <property name> = <value>;
  22. EDIT INSTANCE * ON DATABASE <database name>
  23. SET PROPERTY <property name> = <value>;
  24. DGMGRL> edit configuration set protection mode as maxavilability;
  25. Syntax error before or at "maxavilability"
  26. DGMGRL> show configuration;
  27. Configuration - htz
  28. #最大可用的保护模式
  29. Protection Mode: MaxAvailability
  30. Databases:
  31. htzb - Primary database
  32. htz  - Physical standby database
  33. Fast-Start Failover: DISABLED
  34. Configuration Status:
  35. SUCCESS

3.2 修改日志传递方式

  1. DGMGRL> edit database htz set property logxptmode=sync;
  2. Property "logxptmode" updated
  3. DGMGRL> edit database htzb set property logxptmode=sync;
  4. Property "logxptmode" updated
  5. DGMGRL> show database htz logxptmode
  6. LogXptMode = 'sync'
  7. DGMGRL> show database htzb logxptmode
  8. LogXptMode = 'sync

4 配置数据库的flashback

4.1 主库上面

  1. SQL> select open_mode,database_role,log_mode,flashback_on from v$database;
  2. OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON
  3. -------------------- ---------------- ------------ ------------------
  4. READ WRITE           PRIMARY          ARCHIVELOG   NO
  5. #配置flashback
  6. SQL> alter database flashback on;
  7. Database altered.
  8. SQL> select open_mode,database_role,log_mode,flashback_on from v$database;
  9. OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON
  10. -------------------- ---------------- ------------ ------------------
  11. READ WRITE           PRIMARY          ARCHIVELOG   YES
  12. #flashback的配置目录与大小
  13. SQL> show parameter recovery
  14. NAME                                 TYPE        VALUE
  15. ------------------------------------ ----------- ------------------------------
  16. db_recovery_file_dest                string      /u01/app/oracle/fast_recovery_
  17. area
  18. db_recovery_file_dest_size           big integer 4032M

4.2 备库上面

  1. SQL> select open_mode,database_role,log_mode,flashback_on from v$database;
  2. OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON
  3. -------------------- ---------------- ------------ ------------------
  4. READ ONLY WITH APPLY PHYSICAL STANDBY ARCHIVELOG   NO
  5. SQL> recover managed standby database cancel;
  6. Media recovery complete.
  7. SQL> alter database flashback on;
  8. Database altered.
  9. SQL> recover managed standby database using current logfile disconnect;
  10. Media recovery complete.
  11. SQL> select open_mode,database_role,log_mode,flashback_on from v$database;
  12. OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON
  13. -------------------- ---------------- ------------ ------------------
  14. READ ONLY WITH APPLY PHYSICAL STANDBY ARCHIVELOG   YES

5 配置observer服务器

5.1 配置tnsnames.ora文件。

  1. [oracle@test admin]$ cat tnsnames.ora
  2. HTZB =
  3. (DESCRIPTION =
  4. (ADDRESS_LIST =
  5. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.31)(PORT = 1521))
  6. )
  7. (CONNECT_DATA =
  8. (SERVER = dedicate)
  9. (SERVICE_NAME = htzb)
  10. )
  11. )
  12. HTZ =
  13. (DESCRIPTION =
  14. (ADDRESS_LIST =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.30)(PORT = 1521))
  16. )
  17. (CONNECT_DATA =
  18. (SERVER = dedicate)
  19. (SERVICE_NAME = htz)
  20. )
  21. )

5.2 启动observer进程

  1. [oracle@test admin]$ dgmgrl sys/oracle@htz "start observer"
  2. DGMGRL for Linux: Version 11.2.0.2.0 - 64bit Production
  3. Copyright (c) 2000, 2009, Oracle. All rights reserved.
  4. Welcome to DGMGRL, type "help" for information.
  5. Connected.
  6. Observer started

6 配置fast-start failover

  1. DGMGRL> edit database htz set property FastStartFailoverTarget=htzb;
  2. Property "faststartfailovertarget" updated
  3. DGMGRL> edit database htzb set property  FastStartFailoverTarget=htz;
  4. Property "faststartfailovertarget" updated

于fst-start failove相关的其它几个参数:

FastStartFailoverPmyShutdown

FastStartFailoverLagLimit

FastStartFailoverAutoReinstate

ObserverConnectIdentifier

这里我们都使用默认值;我们来看一下这些值的默认值;

  1. DGMGRL> show configuration verbose;
  2. Configuration - htz
  3. Protection Mode: MaxAvailability
  4. Databases:
  5. htzb - Primary database
  6. htz  - (*) Physical standby database
  7. (*) Fast-Start Failover target
  8. Properties:
  9. FastStartFailoverThreshold      = '30'
  10. OperationTimeout                = '30'
  11. FastStartFailoverLagLimit       = '30'
  12. CommunicationTimeout            = '180'
  13. FastStartFailoverAutoReinstate  = 'TRUE'
  14. FastStartFailoverPmyShutdown    = 'TRUE'
  15. BystandersFollowRoleChange      = 'ALL'
  16. Fast-Start Failover: DISABLE
  17. Threshold:        30 seconds
  18. Target:           htz
  19. Observer:         test
  20. Lag Limit:        30 seconds (not in use)
  21. Shutdown Primary: TRUE
  22. Auto-reinstate:   TRUE
  23. Configuration Status:
  24. SUCCESS

7 启用fast-start failover

  1. DGMGRL> show configuration
  2. Configuration - htz
  3. Protection Mode: MaxAvailability
  4. Databases:
  5. htzb - Primary database
  6. htz  - Physical standby database
  7. Fast-Start Failover: DISABLED
  8. Configuration Status:
  9. SUCCESS
  10. DGMGRL> enable fast_start failover
  11. Enabled.
  12. DGMGRL>

8.测试FAST-START FAILOVER是否生效

  1. DGMGRL> show configuration
  2. Configuration - htz
  3. Protection Mode: MaxAvailability
  4. Databases:
  5. htzb - Primary database
  6. htz  - (*) Physical standby database
  7. Fast-Start Failover: ENABLED
  8. Configuration Status:
  9. SUCCESS
  10. #原主库直接shutdown abort;
  11. SQL> shutdown abort;
  12. ORACLE instance shut down.
  13. SQL>
  14. #observer进程的日志
  15. 19:03:03.93 Friday, September 07, 2012
    Initiating Fast-Start Failover to database "htz"...
    Performing failover NOW, please wait...
    Failover succeeded, new primary is "htz"
    19:03:13.24 Friday, September 07, 2012
  16. #提示已经把主切换到htz
  17. #在htz上面查看一下
  18. SQL> select open_mode ,database_role from v$database;
  19. OPEN_MODE            DATABASE_ROLE
  20. -------------------- ----------------
  21. READ WRITE           PRIMARY
  22. 已经成功
  23. 手动启动原主库
  24. DGMGRL> show configuration;

    Configuration - htz

    Protection Mode: MaxAvailability
    Databases:
    htz - Primary database
    Warning: ORA-16817: unsynchronized fast-start failover configuration

    htzb - (*) Physical standby database (disabled)
    ORA-16661: the standby database needs to be reinstated

    Fast-Start Failover: ENABLED

    Configuration Status:
    WARNING

    DGMGRL> connect sys/oracle@htzb
    Connected.
    DGMGRL> startup
    ORACLE instance started.
    Database mounted.
    ORA-16649: possible failover to another database prevents this database from being opened

  25. #过一分会后我们再查看一下状态
  26. DGMGRL> connect sys/oracle@htz
    Connected.
    DGMGRL> show configuration

    Configuration - htz

    Protection Mode: MaxAvailability
    Databases:
    htz - Primary database
    htzb - (*) Physical standby database

    Fast-Start Failover: ENABLED

    Configuration Status:
    SUCCESS

  27. 查看状态,一切正常。

本文转自7343696 51CTO博客,原文链接:http://blog.51cto.com/luoping/984294,如需转载请自行联系原作者

11GR DATAGRUAD环境BROKER配置Fast-Start Failover相关推荐

  1. Oracle DG 之--DG Broker 配置基本概念

    Oracle DG 之DG Broker 配置 系统环境: 操作系统: RedHat EL55_64 Oracle:    Oracle 11.2.0.3.0 Data Guard 配置: 主库bjd ...

  2. DG Broker配置、日志传输、备库管理与主备切换

    DG Broker配置.日志传输.备库管理与主备切换 DG Broker的配置与启用 启动DG Broker 配置DG Broker 使用DG Broker查看数据库信息 使用DG Broker管理日 ...

  3. RAC环境下配置TAF (Final)

    TAF是Transparent Application Failover的英文缩写,顾名思义就是对应用透明的故障转移,举个例子,当应用连接某个oracle数据库的执行查询操作的时候,数据库服务器网络中 ...

  4. 利用XAG在RAC环境下实现GoldenGate自动Failover

    概述 在RAC环境下配置OGG,要想实现RAC节点故障时,OGG能自动的failover到正常节点,要保证两点: 1. OGG的checkpoint,trail,BR文件放置在共享的集群文件系统上,R ...

  5. broker oracle fx,Oracle 11gR2 Dataguard Broker配置

    Data Guard Broker Oracle Data Guard Broker 是一个分布式管理框架,它不但自动化了 Data Guard 配置的创建.维护和监视,并对这些操作进行统一管理.可以 ...

  6. EMQTT环境部署配置双向认证

    EMQTT环境部署&&配置双向认证 EMQT服务部署 Ubuntu安装EMQTT Docker 搭建EMQ服务 EMQ双向认证配置 EMQ X Broker 是基于高并发的 Erlan ...

  7. Texlive安装与环境变量配置

    下载安装:https://www.jianshu.com/p/25896cc05cb4 去官网下载速度很快 环境变量配置:https://www.jianshu.com/p/f8f6c255098c

  8. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)

    博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556  文章- 38  评论- 77 ...

  9. 【CV】Python下载安装及环境变量配置教程

    目录 Python下载 Python安装 Python环境变量配置 Python下载 可通过https://www.python.org/downloads/下载 1.进入网页后点击Windows,其 ...

最新文章

  1. The HipHop Virtual Machine
  2. 微软宣布 Win10 设备数突破8亿,距离10亿还远吗?
  3. “不亦乐乎”是“乐”还是“悦”?
  4. mysql 二进制日志 解析c++_mysql二进制日志文件恢复数据库
  5. 什么是Kafka Global Table (GlobalKTable)
  6. AI企业下一个使命:让生物特征数据使用走向阳光透明
  7. 同步手绘板——将View的内容映射成Bitmap转图片导出
  8. 简单的java rpc_Java 简单的rpc 一
  9. 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
  10. linux是否有免安装程序,在线Ubuntu Linux系统,免安装体验Linux系统
  11. JAVA设置jscrollbar大小_JScrollBar垂直/水平设置问题 – Java Swing
  12. html盒子模型子元素怎么水平占满父元素_前端面试常考问题之css盒模型
  13. 清除iphone文件app连接服务器记录,“文件”中连接外置设备或服务器 - iPhone附带的APP - iPhone使用手册...
  14. 解决打印机问题的方法
  15. MockingBot for Mac(原型设计协同插件)sketch插件
  16. hybrid 单臂路由
  17. 一篇荡气回肠的统计思想漫谈——漫谈相关与回归
  18. 基于UWB的室内SDS_TWR测距算法优化和定位算法融合的研究
  19. HEG安装教程(windows平台)
  20. STM32-USB学习系列(一) :USB与USB库的介绍

热门文章

  1. unity 引用prefab_十九:Unity 配置数据(序列化)的重构
  2. c语言做一个小程序报告,《C语言程序设计实践》课程报告30个小程序组合成一个大程序.doc...
  3. Swift中文教程(十二) 下标
  4. Ubuntu文件夹有锁标志(去除) 命令打包解包
  5. jQuery插件imageTick实现复选和单选框转化为图片
  6. Redis高可用方案哨兵机制------ 配置文件sentinel.conf详解
  7. mysql 存储引擎和数据导入导出
  8. 关于 SQL Server Analysis Services
  9. Anaconda安装(ubuntu 14.04.03 LTS 64bit)
  10. LeetCode 669. Trim a Binary Search Tree