Dataguard Broker的配置

前提条件

修改参数

参数DG_BROKER_START设置为true

SQL> alter system set dg_broker_start=true;
System altered.

这个参数可以联机改,主库备库都改。

SQL> show parameter dg_

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1		     string	 /home/oracle/app/oracle/produc
						 t/11.2.0/dbhome_1/dbs/dr1orcld
						 g.dat
dg_broker_config_file2		     string	 /home/oracle/app/oracle/produc
						 t/11.2.0/dbhome_1/dbs/dr2orcld
						 g.dat
dg_broker_start 		     boolean	 TRUE

修改dg_broker_config_file参数。这里就用默认的路径,也可以自己指定。如果是在RAC环境中,这个把这个文件把到共享的存储上面,如果有ASM可以放到ASM中。

在主库和备库的监听上实现静态注册

修改监听配置,主库:

[oracle@primary ~]$  cat  /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.83.?)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (SID_NAME = orcl)
      (ORACLE_HOME =/home/oracle/app/oracle/product/11.2.0/dbhome_1)
    )
    (
     SID_DESC=(SID_NAME=orcl)
     (GLOBAL_DBNAME=orcl_DGMGRL)
     (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1)
     (ENVS="TNS_ADMIN=/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin")
    )
  ) 

备库

[oracle@standby ~]$ cat  /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.83.235)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (SID_NAME = orcl)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
    )
    (
     SID_DESC=(SID_NAME=orcl)
     (GLOBAL_DBNAME=orcldg_DGMGRL)
     (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1)
     (ENVS="TNS_ADMIN=/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin")
    )
  )

创建配置

启用BROKER,在主库上登录dgmgrl。

[oracle@primary ~]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.1.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys
Password:
Connected.

先查看一下创建配置文件的语法:

DGMGRL> help create;

Creates a broker configuration

Syntax:

  CREATE CONFIGURATION <configuration name> AS
    PRIMARY DATABASE IS <database name>
    CONNECT IDENTIFIER IS <connect identifier>;

写面创建配置文件


DGMGRL> create configuration dg as primary database is orcl connect identifier is orcl;
Configuration "dg" created with primary database "orcl"

创建完了检查一下,发现没有备库,而且配置文件没有被激活。

DGMGRL> show configuration

Configuration - dg

  Protection Mode: MaxAvailability
  Databases:
    orcl - Primary database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED

增加一个备库:

DGMGRL> add database orcldg as connect identifier is orcldg;
Database "orcldg" added
DGMGRL> show configuration

Configuration - dg

  Protection Mode: MaxAvailability
  Databases:
    orcl   - Primary database
    orcldg - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
DISABLED

激活配置文件,不然broker用不了。

DGMGRL> enable configuration
Enabled.

检查配置的详细信息:

DGMGRL> show database verbose orcl

Database - orcl

  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    orcl

  Database Warning(s):
    ORA-16629: database reports a different protection level from the protection mode

  Properties:
    DGConnectIdentifier             = 'orcl'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'SYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'auto'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '4'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = ''
    LogFileNameConvert              = ''
    FastStartFailoverTarget         = ''
    StatusReport                    = '(monitor)'
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    HostName                        = 'primary'
    SidName                         = 'orcl'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=primary)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl_DGMGRL)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = '/home/oracle/app/oradata/orcl/archive'
    AlternateLocation               = ''
    LogArchiveTrace                 = '0'
    LogArchiveFormat                = '%t_%s_%r.arc'
    TopWaitEvents                   = '(monitor)'

Database Status:
WARNING

DGMGRL> 

注意参数StaticConnectIdentifier中SERVICE_NAME的命名规则是db_unique_name_DGMGRL.db_domain,如果在监听的配置文件中配置时不是这样的命名,需要手工修改StaticConnectIdentifier这个参数。

参考文档Oracle官方文档《Data Guard Broker》

发布了23 篇原创文章 · 获赞 2 · 访问量 1252

猜你喜欢

转载自blog.csdn.net/weixin_43424368/article/details/103887792