Oracle

在进行容灾业务配置前,请先检查生产端和灾备端的Oracle数据库环境和存储侧环境是否满足要求。如果不满足要求,请及时调整。

公共检查项目

以下检查项目需要在生产端数据库环境和灾备端数据库环境中进行检查和配置。

  1. 当Oracle数据库所在主机操作系统为Linux时,请检查UDEV磁盘映射方式。

    UDEV场景下,UDEV磁盘映射方式约束说明如下:

    • 仅支持使用磁盘分区形式进行UDEV磁盘映射。
    • 使用UDEV映射DATA、REDO磁盘时,仅支持直接使用UDEV磁盘作为DATA、REDO磁盘组的磁盘。
    • 生产端和灾备端的UDEV配置规则内容必须都在“99-oracle-asmdevices.rules”规则文件中(存放路径为“/etc/udev/rules.d”)。

      配置UDEV磁盘映射有两种方式,以SUSE 12SP5操作系统(磁盘名为“DATA”和“REDO”)为例说明,请参考以下规则内容配置UDEV磁盘映射:

      • 磁盘命名方式
        KERNEL=="sd*",ENV{ID_SERIAL}=="3622334410055667711fc7ffd00000113",SYMLINK+="oracle/redo_102",OWNER="grid",GROUP="asmadmin",MODE="0660"
        KERNEL=="sd*",ENV{ID_SERIAL}=="3622334410055667711fc417d0000010f",SYMLINK+="oracle/data_101",OWNER="grid",GROUP="asmadmin",MODE="0660"

      KERNEL字段必须以通配符方式指定(如KERNEL=="sd*1"),不能指定固定的设备分区名(如KERNEL="sda"),否则将导致UDEV配置的规则不能生效。

  2. 检查数据库认证方式。

    创建Oracle保护组过程中,可以进行认证方式的选择,针对不同的保护对象和不同的RAC主机可以配置不同的认证方式,目前支持数据库认证和操作系统认证两种方式。具体的配置要求如表1所示。

    表1 认证方式配置要求

    认证方式

    要求

    数据库认证

    生产端与灾备端认证方式必须保证一致。

    同一个集群内部,各个主机上的认证方式必须一致。

    创建保护组时,在eReplication上选择的认证方式必须和实际数据库使用的认证方式保持一致。

    操作系统认证

    针对部署在ASM上的Oracle RAC集群环境,必须要开启操作系统认证,才能在容灾恢复时正常启动备端集群。

    针对部署在ASM上的Oracle单实例数据库,要求:

    类UNIX系统中,如果将Oracle的密码文件配置为保存在ASM磁盘组中,则必须开启操作系统认证,或者将密码文件存放在本地文件系统上,否则将导致Oracle保护组对应的恢复计划执行测试、计划性迁移或故障恢复等操作失败。

  3. 检查数据库OPEN_MODE。

    创建Oracle保护组过程中,可以进行数据库OPEN_MODE的选择。
    表2 OPEN_MODE设置

    配置项

    说明

    OPEN_MODE

    • 生产端与灾备端OPEN_MODE必须保证一致。
    • 同一个集群内部,各个主机上的OPEN_MODE必须保持一致。

    当前Agentless默认支持的OPEN_MODE为READ ONLY WITH APPLY,如果需要修改OPEN_MODE,可以通过以下命令修改(生产集群与灾备集群中所有节点的Agentless配置均需要更改):

    1. 执行 vi /opt/xxxx/Agentless/lib/comm_config.sh命令,进入comm_config.sh配置文件,其中xxxx为Agentless自定义安装目录。
    2. 搜索OPEN_MODE=1,将其更改为OPEN_MODE=0,保存退出。

生产端检查项目

  1. 检查生产端数据库运行模式。

    eReplication Agentless对数据库一致性保证实现需要Oracle运行在归档模式下,请检查Oracle数据库是否运行在归档模式下。

    • Linux环境下运行模式的配置方法
      1. 运行sqlplus命令,登录数据库。这里以“sys”用户,密码为“oracle”,实例名为“verify”为例。

        命令输入格式和显示结果如下所示:

        [oracle@rhcs218 ~]$ sqlplus /nolog 
         
        SQL*Plus: Release 11.2.0.3.0 - Production on Fri Jun 26 10:30:34 2020 
         
        Copyright (c) 1982, 2002, Oracl.  All rights reserved. 
         
        SQL> conn sys/oracle@verify as sysdba 
        Connected.
      2. 运行archive log list命令,查看数据库是否为归档模式状态。

        命令输入格式和显示结果如下所示:

        SQL> archive log list; 
        Database log mode             No Archive Mode 
        Automatic archival            Enabled 
        Archive destination           +REDO 
        Oldest online log sequence    75 
        Next log sequence to archive  76   
        Current log sequence          76     
    • 如果“Database log mode”的字段值为“Archive Mode”,则说明数据库已处于归档模式。
    • 如果“Database log mode”的字段值为“No Archive Mode”,请参考Oracle用户文档将数据库的运行模式改为归档模式。
    • Archive destination必须在日志同步复制容灾方案规划的磁盘组。

  2. 检查生产端数据库文件。

    检查数据库的数据文件、日志文件、控制文件是否存放在阵列的LUN上,如果不是则无法进行容灾。建议临时表空间和以上三种文件之一共享LUN,或使用单独的LUN存储。

灾备端检查项目

检查ADG灾备端以及灾备端测试主机的数据库环境。具体环境要求如表3所示。

如果灾备端测试主机的数据库环境和生产端不一样,请用户自行处理,确保灾备端测试主机和生产端具有完全一样的数据库环境。

表3 ADG灾备端以及灾备端测试主机的数据库环境要求

检查项

要求

安装Oracle

Oracle的操作系统及其版本必须和生产端保持一致。

Oracle软件的版本必须和生产端保持一致。

Oracle软件的安装位置必须和生产端保持一致。

数据库

数据库认证方式必须和生产端保持一致。

数据库的名称、数据库的用户名及密码必须和生产端保持一致。

Oracle RAC环境

SCAN-IP的scan name必须和生产端保持一致。

存储侧检查项目

对于使用同步复制(SAN)容灾技术的场景,如果数据库配置多组归档日志,要求至少有一组归档日志使用的存储资源配置了远程复制或远程复制一致性组。

各容灾技术对存储侧环境要求说明如表4所示。

表4 各容灾技术对存储侧环境要求

容灾技术

约束和要求

同步复制(SAN)

  • 当基于存储阵列远程复制实现容灾保护时,应用使用的存储阵列必须已经创建了一致性复制关系,即:
    • 当使用存储阵列保护时,应用使用的LUN已经创建了远程复制,且远程复制状态正常。
    • 如果使用了多个LUN,所对应的远程复制已经加入到同一个一致性组中。如果仅使用了一个存储(LUN),则无需将该存储所在的远程复制加入一致性组。
    • 对于闪存存储,提供了自动添加主机与存储映射的功能,只需要保证存储与主机的启动器连接正常,系统会自动在存储上创建对应的主机、主机组、LUN组和映射视图。
    • 对于闪存存储,灾备主机在存储阵列上只能归属于一个主机组,且该主机组只能归属于同一个映射视图。同时,受保护的应用使用的存储LUN,其对应的远程复制从LUN,只能归属于同一个LUN组,且该LUN组与该主机组必须归属于同一个映射视图中。
  • 当灾备端应用环境搭建完成后,需要将应用的数据文件、控制文件、日志文件所在存储LUN或卷的灾备端测试主机映射解除,ADG容灾主机不能去映射。
  • 请检查灾备主机上需要恢复的Oracle数据库使用的所有文件系统是否已经解除挂载(umount)。
  • 请在DeviceManager软件上检查灾备端数据库所使用的远程复制对应的从LUN没有被映射到任何主机/主机组/映射视图。

版权所有 © 华为技术有限公司