在DG中 broker 搭建方法

首先我们在使用 broke 之前 要看我们的主备库 的参数 
‘dg_broker_start’ 是否开启
standby logfile 主备是否都配置 
查看参数
SQL> show parameter dg_

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr1ENMOEDU.dat
dg_broker_config_file2               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr2ENMOEDU.dat
dg_broker_start                      boolean     FALSE
未开启
我们开启参数 
SQL> alter system set dg_broker_start = true scope=both;
System altered.
SQL> show parameter dg_broker
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr1ENMOEDU.dat
dg_broker_config_file2               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr2ENMOEDU.dat
dg_broker_start                      boolean     TRUE
我们查询我们的standby 日志组 
SQL> select * from v$standby_log;

no rows selected
主库添加四组 standby log 
SQL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/ENMOEDU/standby04.log') size 50m;
Database altered.
SQL> alter database add standby logfile group 5('/u01/app/oracle/oradata/ENMOEDU/standby05.log') size 50m;
Database altered.
SQL> alter database add standby logfile group 6('/u01/app/oracle/oradata/ENMOEDU/standby06.log') size 50m;
Database altered.
SQL> alter database add standby logfile group 7('/u01/app/oracle/oradata/ENMOEDU/standby07.log') size 50m;
Database altered.
再次验证
SQL> select GROUP#,STATUS from v$standby_log;

    GROUP# STATUS
---------- ----------
         4 UNASSIGNED
         5 UNASSIGNED
         6 UNASSIGNED
         7 UNASSIGNED


进入到 broker 连接主库 
[oracle@enmo1 dbs]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.3.0 - Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/oracle@ENMOEDU;
Connected.
创建 broker 
DGMGRL> CREATE CONFIGURATION DF AS
> PRIMARY DATABASE IS ENMOEDU
> CONNECT IDENTIFIER IS ORA11GR2;
把备库添加
DGMGRL> add database ORA11GR2 AS
> CONNECT IDENTIFIER IS ORA11GR2;
Database "ora11gr2" added
激活 broker 
DGMGRL> ENABLE CONFIGURATION;
Enabled.

DGMGRL> SHOW CONFIGURATION;

Configuration - df

  Protection Mode: MaxPerformance
  Databases:
    enmoedu  - Primary database
    ora11gr2 - Physical standby database
      Error: ORA-16525: the Data Guard broker is not yet available

Fast-Start Failover: DISABLED

Configuration Status:
ERROR
查看状态时  报错 警告 
此时呢就是我们的 备库的   dg_broker_start  状态不是 ture 
SQL> show parameter dg_

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr1ORA11GR2.dat
dg_broker_config_file2               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/dr2ORA11GR2.dat
dg_broker_start                      boolean     FALSE
打开为ture 
SQL> alter system set dg_broker_start=true;

System altered.
再次查询 
DGMGRL> show configuration;

Configuration - df

  Protection Mode: MaxPerformance
  Databases:
    enmoedu  - Primary database
    ora11gr2 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
ORA-16610: command "ENABLE DATABASE ora11gr2" in progress
DGM-17017: unable to determine configuration status
此时是我们备库的standby 日志没有添加 
在备库添加 standby log  注意一定停止我们的 recover 动作
SQL> alter database recover managed standby database cancel;
Database altered.

SQL>  alter database add standby logfile group 4('/u01/app/oracle/oradata/ORA11GR2/standby04.log') size 50m;
Database altered.
SQL> alter database add standby logfile group 5('/u01/app/oracle/oradata/ORA11GR2/standby05.log') size 50m;
Database altered.
SQL> altr database add standby logfile group 6('/u01/app/oracle/oradata/ORA11GR2/standby06.log') size 50m;
Database altered.
SQL> alter database add standby logfile group 7('/u01/app/oracle/oradata/ORA11GR2/standby07.log') size 50m;
Database altered.

再次查询 
DGMGRL> show configuration verbose;

Configuration - sdf

  Protection Mode: MaxAvailability
  Databases:
    enmoedu  - Primary database
    ora11gr2 - Physical standby database

  Properties:
    FastStartFailoverThreshold      = '30'
    OperationTimeout                = '30'
    FastStartFailoverLagLimit       = '30'
    CommunicationTimeout            = '180'
    FastStartFailoverAutoReinstate  = 'TRUE'
    FastStartFailoverPmyShutdown    = 'TRUE'
    BystandersFollowRoleChange      = 'ALL'

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS
以上就是我们搭建的 broker 
请使用浏览器的分享功能分享到微信等