当前位置:  数据库>oracle

Oracle 11gR2 DataGuard环境BROKER配置Fast-Start Failover

    来源: 互联网  发布时间:2017-05-08

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

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环境的搭建。
见Oracle 11GR2 搭建活动的物理DG/DataGuard (READ ONLY模式)
 
2,broker的配置
3,配置保护模式与日志传递方式
之前已经说了FAST-START FAILOVER只 maximum availability mode与maximum performance mode
下面我们看一下每一种保护模式对应的日志传递方式。

3.1修改保护模式:

  • [oracle@test admin]$ dgmgrl 
  • DGMGRL for Linux: Version 11.2.0.2.0 - 64bit Production 
  •  
  • Copyright (c) 2000, 2009, Oracle. All rights reserved. 
  •  
  • Welcome to DGMGRL, type "help" for information. 
  • DGMGRL> connect sys/oracle@htz  
  • Connected. 
  • #通过help查看命令的帮忙。 
  • DGMGRL> help edit 
  • Edits a configuration, database, or instance 
  • Syntax: 
  •  
  •   EDIT CONFIGURATION SET PROTECTION MODE AS  
  •     {MaxProtection|MaxAvailability|MaxPerformance}; 
  •  
  •   EDIT CONFIGURATION SET PROPERTY  = ; 
  •  
  •   EDIT DATABASE  SET PROPERTY  = ; 
  •  
  •   EDIT DATABASE  RENAME TO ; 
  •  
  •   EDIT DATABASE  SET STATE =  
  •     [WITH APPLY INSTANCE = ]; 
  •  
  •   EDIT INSTANCE  [ON DATABASE ] 
  •     SET AUTO PFILE [ = {|OFF} ]; 
  •  
  •   EDIT INSTANCE  [ON DATABASE ] 
  •     SET PROPERTY  = ; 
  •  
  •   EDIT INSTANCE * ON DATABASE  
  •     SET PROPERTY  = ; 
  •  
  • DGMGRL> edit configuration set protection mode as maxavilability; 
  • Syntax error before or at "maxavilability" 
  • DGMGRL> show configuration; 
  •  
  • Configuration - htz 
  • #最大可用的保护模式 
  •   Protection Mode: MaxAvailability 
  •   Databases: 
  •     htzb - Primary database 
  •     htz  - Physical standby database 
  • Fast-Start Failover: DISABLED 
  • Configuration Status: 
  • SUCCESS 
  • 3.2 修改日志传递方式

  • DGMGRL> edit database htz set property logxptmode=sync; 
  • Property "logxptmode" updated 
  • DGMGRL> edit database htzb set property logxptmode=sync; 
  • Property "logxptmode" updated 
  • DGMGRL> show database htz logxptmode 
  •   LogXptMode = 'sync' 
  • DGMGRL> show database htzb logxptmode 
  •   LogXptMode = 'sync 
  • 4 配置数据库的flashback

    4.1 主库上面

  • SQL> select open_mode,database_role,log_mode,flashback_on from v$database; 
  •  
  • OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON 
  • -------------------- ---------------- ------------ ------------------ 
  • READ WRITE           PRIMARY          ARCHIVELOG   NO 
  • #配置flashback 
  • SQL> alter database flashback on; 
  •  
  • Database altered. 
  •  
  • SQL> select open_mode,database_role,log_mode,flashback_on from v$database; 
  •  
  • OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON 
  • -------------------- ---------------- ------------ ------------------ 
  • READ WRITE           PRIMARY          ARCHIVELOG   YES 
  • #flashback的配置目录与大小 
  • SQL> show parameter recovery 
  •  
  • NAME                                 TYPE        VALUE 
  • ------------------------------------ ----------- ------------------------------ 
  • db_recovery_file_dest                string      /u01/app/oracle/fast_recovery_ 
  •                                                  area 
  • db_recovery_file_dest_size           big integer 4032M 
  • 4.2 备库上面

  • SQL> select open_mode,database_role,log_mode,flashback_on from v$database; 
  •  
  • OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON 
  • -------------------- ---------------- ------------ ------------------ 
  • READ ONLY WITH APPLY PHYSICAL STANDBY ARCHIVELOG   NO 
  •  
  • SQL> recover managed standby database cancel; 
  • Media recovery complete. 
  • SQL> alter database flashback on; 
  •  
  • Database altered. 
  •  
  • SQL> recover managed standby database using current logfile disconnect; 
  • Media recovery complete. 
  • SQL> select open_mode,database_role,log_mode,flashback_on from v$database; 
  •  
  • OPEN_MODE            DATABASE_ROLE    LOG_MODE     FLASHBACK_ON 
  • -------------------- ---------------- ------------ ------------------ 
  • READ ONLY WITH APPLY PHYSICAL STANDBY ARCHIVELOG   YES 
  • 5 配置observer服务器

    5.1 配置tnsnames.ora文件。

  • [oracle@test admin]$ cat tnsnames.ora 
  • HTZB = 
  •   (DESCRIPTION = 
  •     (ADDRESS_LIST = 
  •       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.31)(PORT = 1521)) 
  •     ) 
  •     (CONNECT_DATA = 
  •       (SERVER = dedicate) 
  •       (SERVICE_NAME = htzb) 
  •     ) 
  •   ) 
  •  
  • HTZ = 
  •   (DESCRIPTION = 
  •     (ADDRESS_LIST = 
  •       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.30)(PORT = 1521)) 
  •     ) 
  •     (CONNECT_DATA = 
  •       (SERVER = dedicate) 
  •       (SERVICE_NAME = htz) 
  •     ) 
  •   ) 
  • 5.2 启动observer进程

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

  • DGMGRL> edit database htz set property FastStartFailoverTarget=htzb; 
  • Property "faststartfailovertarget" updated 
  • DGMGRL> edit database htzb set property  FastStartFailoverTarget=htz; 
  • Property "faststartfailovertarget" updated 
  • 于fst-start failove相关的其它几个参数:

    FastStartFailoverPmyShutdown

    FastStartFailoverLagLimit

    FastStartFailoverAutoReinstate

    ObserverConnectIdentifier

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

  • DGMGRL> show configuration verbose; 
  •  
  • Configuration - htz 
  •  
  •   Protection Mode: MaxAvailability 
  •   Databases: 
  •     htzb - Primary database 
  •     htz  - (*) Physical standby database 
  •  
  •   (*) Fast-Start Failover target 
  •  
  •   Properties: 
  •     FastStartFailoverThreshold      = '30' 
  •     OperationTimeout                = '30' 
  •     FastStartFailoverLagLimit       = '30' 
  •     CommunicationTimeout            = '180' 
  •     FastStartFailoverAutoReinstate  = 'TRUE' 
  •     FastStartFailoverPmyShutdown    = 'TRUE' 
  •     BystandersFollowRoleChange      = 'ALL' 
  •  
  • Fast-Start Failover: DISABLE
  •  
  •   Threshold:        30 seconds 
  •   Target:           htz 
  •   Observer:         test 
  •   Lag Limit:        30 seconds (not in use) 
  •   Shutdown Primary: TRUE 
  •   Auto-reinstate:   TRUE 
  •  
  • Configuration Status: 
  • SUCCESS 
  • 7 启用fast-start failover

  • DGMGRL> show configuration 
  •  
  • Configuration - htz 
  •  
  •   Protection Mode: MaxAvailability 
  •   Databases: 
  •     htzb - Primary database 
  •     htz  - Physical standby database 
  •  
  • Fast-Start Failover: DISABLED 
  •  
  • Configuration Status: 
  • SUCCESS 
  • DGMGRL> enable fast_start failover 
  • Enabled. 
  • DGMGRL>  
  • 8.测试FAST-START FAILOVER是否生效

  • DGMGRL> show configuration 
  •  
  • Configuration - htz 
  •  
  •   Protection Mode: MaxAvailability 
  •   Databases: 
  •     htzb - Primary database 
  •     htz  - (*) Physical standby database 
  • Fast-Start Failover: ENABLED 
  • Configuration Status: 
  • SUCCESS 
  • #原主库直接shutdown abort; 
  • SQL> shutdown abort; 
  • ORACLE instance shut down. 
  • SQL>  
  • #observer进程的日志 
  • 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




  • #提示已经把主切换到htz 
  • #在htz上面查看一下 
  • SQL> select open_mode ,database_role from v$database; 
  •  
  • OPEN_MODE            DATABASE_ROLE 
  • -------------------- ---------------- 
  • READ WRITE           PRIMARY 
  • 已经成功
  • 手动启动原主库
  • 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





















  • #过一分会后我们再查看一下状态
  • 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
  • 查看状态,一切正常。















  •     
     
     
     
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • [Oracle] Data Guard 之 浅析Switchover与Failover
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • javascript开源软件 iis7站长之家
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,