> 데이터 베이스 > MySQL 튜토리얼 > DATAGUARD failover切换及配置范例

DATAGUARD failover切换及配置范例

WBOY
풀어 주다: 2016-06-07 17:05:54
원래의
1079명이 탐색했습니다.

今天给客户演示了虚拟机上的switchover和failover的切换过程。客户关心的重点自然是failover,我们直接关掉虚拟存储的开关来模拟

今天给客户演示了虚拟机上的switchover和failover的切换过程。客户关心的重点自然是failover,我们直接关掉虚拟存储的开关来模拟阵列故障。failover步骤如下

1. 

  • DATABASE_ROLE,SWITCHOVER_STATUS,FORCE_LOGGING   
  • 2. 停止日志应用

  • 3. 关闭standby日志传输

  • 4. 切换到primary

  • 做这一步的时候,,若存在gap,则会报ORA-16139    :Switchover: Media recovery required - standby not in limbo 错误。做测试的时候,若先起主库再起备库,且未等待备库相关日志传输完毕,就会出现这个问题。此时需要强制切换

  • 5. 重启数据库到open状态

    附上单机到单机的linux下dataguard实施过程。


    准备环境

    PRIMARY: RHEL 4.7 + Oracle 10.2.0.4单机+文件系统  主机名:zhbqdb1

    STANDBY: RHEL 4.7 + oracle 10.2.0.4单机 + 文件系统  主机名:zhbqdb2

    主机上创建一个库名为zhdydb1的数据库,开启归档模式。备机装好数据软件,版本升级到与主机一致

    在主机和备机上配好/etc/hosts并创建数据存放路径

    # Do not remove thefollowing line, or various programs
    #that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    172.17.42.29            zhbqdb1
    172.17.42.30            zhbqdb2
     

    创建存放数据文件和归档的目录

  • mkdir /u01/flash_recovery_area  
  • mkdir /u01/oradata  
  • chown oracle:oinstall/u01/flash_recovery_area  
  • chown oracle:oinstall/u01/oradata  
  • 主机的配置 打开force logging

    SQL> alter database force logging;

    查看当前数据库是否置于force logging 下:

    selectforce_logging from v$database;

    创建归档目录

  • mkdir /u01/flash_recovery_area/ZHDYDB1/arch  
  • mkdir/u01/flash_recovery_area/ZHDYDB2  
  • mkdir/u01/flash_recovery_area/ZHDYDB2/arch  
  • mkdir/u01/flash_recovery_area/ZHDYDB2/archivelog  
  • 配置tnsnames

    在zhbqdb1上

    vi$ORACLE_HOME/network/admin/tnsnames.ora

    ZHDYDB1 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST =zhbqdb1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zhdydb1)
        )
      )
     
    ZHDYDB2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST =zhbqdb2)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zhdydb2)
        )
      )
     

    linux

    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    최신 이슈
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿