Linux7.7+12.2.0.1+级联ADG+DG Broker

来源:这里教程网 时间:2026-03-03 16:30:01 作者:
一、环境说明

现存一套ADG,现需添加一套级联备库作为远程数据中心灾备。

参数 主库 备库 级联备库
主机名 alldb alldb2 alldb3
IP 192.168.12.21 192.168.12.22 192.168.12.23
DB_NAME orcl orcl orcl
DB_UNIQUE_NAME orcl orcladg orclfar
SERVICE_NAME orcl orcladg orclfar

前提条件:
  • 第一个备库必须是物理备库或Far Sync备库
  • 第一个备库必须使用Standby Redologs
  • 有ADG licensed(技术忽略)
  • 主库,备库,级联备库都必须再log_archive_config配置中

    二、主备库修改参数

    --1.主库修改参数
    alter system set log_archive_config='dg_config=(orcl,orcladg,orclfar)' scope=both;
    --2.备库修改参数
    alter system set log_archive_config='dg_config=(orcl,orcladg,orclfar)' scope=both;
    alter system set LOG_ARCHIVE_DEST_2= 'SERVICE=orclfar ASYNC NOAFFIRM VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=orclfar' scope=both;
    --3.准备密码文件
    [oracle@alldb:/home/oracle]$scp $ORACLE_HOME/dbs/orapworcl alldb3:$ORACLE_HOME/dbs/orapworclfar
    --4.备库创建pfile、拷贝到级联备库并修改参数
    scp $ORACLE_HOME/dbs/initorcladg.ora alldb3:$ORACLE_HOME/dbs/initorclfar.ora
    *.audit_file_dest='/u01/app/oracle/admin/orclfar/adump'
    *.audit_trail='DB','EXTENDED'
    *.compatible='12.2.0'
    *.control_files='/u01/app/oracle/oradata/orclfar/control01.ctl','/u01/app/oracle/oradata/orclfar/control02.ctl'
    *.db_block_size=8192
    *.db_file_name_convert='orcl','orclfar'
    *.db_name='orcl'
    *.db_unique_name='orclfar'
    *.dg_broker_start=TRUE
    *.diagnostic_dest='/u01/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclfarXDB)'
    *.enable_pluggable_database=true
    *.fal_client='orclfar'
    *.fal_server='orcladg'
    *.local_listener='LISTENER_ORCLFAR'
    *.log_archive_config='dg_config=(orcl,orcladg,orclfar)'
    *.log_archive_dest_1='LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orclfar'
    *.log_archive_dest_state_2='ENABLE'
    *.log_archive_format='%t_%s_%r.arc'
    *.log_archive_max_processes=4
    *.log_archive_min_succeed_dest=1
    *.log_file_name_convert='orcl','orclfar'
    *.nls_language='AMERICAN'
    *.nls_territory='AMERICA'
    *.open_cursors=300
    *.pga_aggregate_target=340m
    *.processes=1000
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_max_size=1468006400
    *.sga_target=1468006400
    *.standby_file_management='AUTO'
    *.undo_tablespace='UNDOTBS1'
    mkdir -p /u01/app/oracle/admin/orclfar/adump
    mkdir -p /u01/app/oracle/oradata/orclfar
    mkdir /arch
    chown oracle:oinstall /arch
    --5.添加TNS配置
    ORCLFAR =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = alldb3)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orclfar)
        )
      )
     
    --6.配置监听
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = alldb3)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    SID_LIST_LISTENER =
      (SID_LIST =
          (SID_DESC =
             (GLOBAL_DBNAME = orclfar)
             (SID_NAME = orclfar)
             (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
           )
      )
    lsnrctl start

    三、搭建备库

    [oracle@alldb3:/home/oracle]$rman target sys/oracle@orcl auxiliary sys/oracle@orclfar
    RMAN> duplicate target database for standby from active database nofilenamecheck;
    SQL> alter database open;
    SQL> recover managed standby database disconnect from session;

    四、配置DG Broker

    --1.级联备库配置静态监听(删除搭建时的静态监听)
    SID_LIST_LISTENER =
      (SID_LIST =
          (SID_DESC =
             (GLOBAL_DBNAME = orclfar_DGMGRL)
             (SID_NAME = orclfar)
             (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
           )
      )
     
    --2.将级联备库加入的Broker Configuration
    DGMGRL> add database orclfar AS CONNECT IDENTIFIER IS orclfar;
    Database "orclfar" added
    DGMGRL> show configuration;
    Configuration - orclbroker
      Protection Mode: MaxPerformance
      Members:
      orcl    - Primary database
        orcladg - Physical standby database 
        orclfar - Physical standby database (disabled)
    Fast-Start Failover: DISABLED
    Configuration Status:
    SUCCESS   (status updated 4 seconds ago)
    --3.此时级联备库是disabled的状态,手工启用
    DGMGRL> enable database orclfar;
    Enabled.
    DGMGRL> show configuration;
    Configuration - orclbroker
      Protection Mode: MaxPerformance
      Members:
      orcl    - Primary database
        orcladg - Physical standby database 
        orclfar - Physical standby database 
    Fast-Start Failover: DISABLED
    Configuration Status:
    SUCCESS   (status updated 2 seconds ago)
    --4.此时级联备库已经enable了,但它变成了主库的第二备库,手工让它变成级联备库(执行后稍等一段时间)
    --其实可以先修改broker configuration的RedoRoutes属性再enable database(还未尝试)
    DGMGRL> EDIT DATABASE 'orcl' SET PROPERTY 'RedoRoutes' = '(LOCAL:orcladg SYNC)';
    Property "RedoRoutes" updated
    DGMGRL> EDIT DATABASE 'orcladg' SET PROPERTY 'RedoRoutes' = '(orcl:orclfar ASYNC)';
    Property "RedoRoutes" updated
    DGMGRL>  show configuration;
    Configuration - orclbroker
      Protection Mode: MaxPerformance
      Members:
      orcl    - Primary database
        orcladg - Physical standby database 
          orclfar - Physical standby database (receiving current redo)
    Fast-Start Failover: DISABLED
    Configuration Status:
    SUCCESS   (status updated 8 seconds ago)

  • 相关推荐