配置Oracle ADG计划性迁移 Broker

前提条件

已完成Oracle ADG搭建。

背景信息

当Oracle ADG需要执行计划性迁移时,需要提前配置Oracle自带主件。Data Guard Broker是Oracle备用数据库解决方案的名称,用于灾难恢复和高可用性。本文给出了使用Data Guard Broker设置和管理Data Guard的示例。

操作步骤

  1. 配置Log。

    1. 执行以下命令检查主数据库是否处于归档日志模式。
      SELECT log_mode FROM v$database;

      如果是noarchivelog模式,则执行以下命令切换到归档日志模式。

      SHUTDOWN IMMEDIATE;
      STARTUP MOUNT;
      ALTER DATABASE ARCHIVELOG;
      ALTER DATABASE OPEN;
    2. 执行以下命令启用强制日志记录。
      ALTER DATABASE FORCE LOGGING;. 
      ALTER SYSTEM SWITCH LOGFILE;
    3. 创建备用REDO日志。

      创建备用REDO日志时,确保日志文件大小至少要和原REDO日志大小相同。

      1. 执行select * from V$LOG;命令,查询原日志信息。
      2. 执行以下命令,查询当前GROUP的已有数值。

        select group#,member from v$logfile order by group#;

        查询结果如图所示。

        图1 查询当前已存在的GROUP

        用户需要根据REDO日志文件的数量在主备端创建备用日志,且GROUP起始数值在已有数值上递增。以图1为例,当仅有Thread 1时,图中GROUP已有数值中最大值为2,则创建REDO备用日志时GROUP起始数值应大于2。

      3. 图1为例,在当前仅存在Thread 1时,在主端执行以下命令创建REDO备用日志。
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 3 ('+REDO/hwdb/standby_redo01.log') SIZE 1024M;
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 4 ('+REDO/hwdb/standby_redo02.log') SIZE 1024M;
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 5 ('+REDO/hwdb/standby_redo03.log') SIZE 1024M;
      4. 图1为例,在当前仅存在Thread 1时,在从端执行以下命令创建REDO备用日志。
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 3 ('+REDO/hwdbdg/standby_redo01.log') SIZE 1024M;
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 4 ('+REDO/hwdbdg/standby_redo02.log') SIZE 1024M;
        ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 GROUP 5 ('+REDO/hwdbdg/standby_redo03.log') SIZE 1024M;

  2. 配置TNS。

    以Oracle ADG从端数据库实例名称为hwdbdg为例。
    1. 在tnsnames.ora 配置添加以下配置项。
      HWDBDG =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = hwdbdg)
          )
    2. 执行以下命令在主备服务器上重新启动监听器。
      lsnrctl stop
      lsnrctl start

  3. 启用Broker。

    1. 在主备端执行以下命令开启Oracle数据库Broker插件。
      ALTER SYSTEM SET dg_broker_start=true;
    2. 在主端执行以下命令进入Broker配置。
      su - oracle ; dgmgrl sys/passwd@hwdb

      以hwdb为ADG主端db_unique_name,hwdbdg为从端db_unique_name为例。

    3. 执行以下命令配置主端。
      CREATE CONFIGURATION my_config AS PRIMARY DATABASE IS hwdb CONNECT IDENTIFIER IS hwdb;
    4. 执行以下命令配置从端。
      ADD DATABASE hwdbdg AS CONNECT IDENTIFIER IS hwdbdg MAINTAINED AS PHYSICAL;
    5. 针对RAC集群场景,需要指定DG_BROKER_CONFIG配置文件 。

      主端参考命令如下:

      ALTER SYSTEM SET DG_BROKER_START=FALSE; 
      ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1 = '+REDO/{primary_db_unique_name}/DR1.DAT' SCOPE=BOTH; 
      ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2 = '+REDO/{primary_db_unique_name}/DR2.DAT' SCOPE=BOTH; 
      ALTER SYSTEM SET DG_BROKER_START=TRUE;  

      备端参考命令如下:

      ALTER SYSTEM SET DG_BROKER_START=FALSE; 
      ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1 = '+REDO/{standby_db_unique_name}/DR1.DAT' SCOPE=BOTH;
      ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2 = '+REDO/{standby_db_unique_name}/DR2.DAT' SCOPE=BOTH; 
      ALTER SYSTEM SET DG_BROKER_START=TRUE;
    6. 执行以下命令启用Broker配置。
      ENABLE CONFIGURATION;
    7. 执行以下命令查看数据库的配置和状态。
       SHOW CONFIGURATION;

      当显示为SUCCESS时,表示配置成功,可以执行Oracle ADG 计划性迁移,否则将会迁移失败。


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