当前位置:Gxlcms > mysql > DATAGUARDfailover切换及配置范例

DATAGUARDfailover切换及配置范例

时间:2021-07-01 10:21:17 帮助过:40人阅读

今天给客户演示了虚拟机上的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

    人气教程排行