Data Guard Physical Standby Setup in Oracle11.2 & 后加 Data Guard Broker 之04(配置dg Broker)

1.開啟flashback(主備)

#主库
SQL> select log_mode,open_mode,flashback_on from v$database;
LOG_MODE     OPEN_MODE		  FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG   READ WRITE 	  NO

SQL> alter database flashback on;

SQL> select log_mode,open_mode,flashback_on from v$database;
LOG_MODE     OPEN_MODE		  FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG   READ WRITE 	  YES


#备库
#停實時日誌應用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

SQL> alter database flashback on;

SQL> select log_mode,open_mode,flashback_on from v$database;

LOG_MODE     OPEN_MODE		  FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG   READ ONLY		  YES

#開啟實時日誌應用
SQL> recover managed standby database using current logfile disconnect from session;

SQL> select log_mode,open_mode,flashback_on from v$database;
LOG_MODE     OPEN_MODE		  FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG   READ ONLY WITH APPLY YES

2.開啟 dg_broker_start (主備)

SQL> show parameter dg_broker_start;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start 		     boolean	 FALSE

SQL> alter system set dg_broker_start=true;

SQL> show parameter dg_broker_start;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
dg_broker_start 		     boolean	 TRUE

3.检查 GLOBAL_NAME(主備)

SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DB11G


SQL> show parameter global_names;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
global_names			     boolean	 FALSE

4.配置broker(主库)

[oracle@xag1124a ~]$ dgmgrl sys/123456@DB11G_PRI

DGMGRL> CREATE CONFIGURATION my_dg_cfg AS PRIMARY DATABASE IS DB11G_PRI CONNECT IDENTIFIER IS DB11G_PRI;

#添加备用数据库
DGMGRL> ADD DATABASE DB11G_STBY AS CONNECT IDENTIFIER IS DB11G_STBY MAINTAINED AS PHYSICAL;

DGMGRL> ENABLE CONFIGURATION;

#显示配置
DGMGRL> SHOW CONFIGURATION;

Configuration - my_dg_cfg

  Protection Mode: MaxAvailability
  Databases:
    db11g_pri  - Primary database
    db11g_stby - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

5.修改监听配置中的 GLOBAL_NAME

DGMGRL> show database verbose 'db11g_pri';
    。。。
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xag1124a)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DB11G_PRI_DGMGRL)(INSTANCE_NAME=DB11G)(SERVER=DEDICATED)))'
    。。。
#上面的 SERVICE_NAME=DB11G_PRI_DGMGRL 就需要 将  监听配置中的 GLOBAL_NAME=DB11G_PRI_DGMGRL


DGMGRL> show database verbose 'db11g_stby';
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xag1124b)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DB11G_STBY_DGMGRL)(INSTANCE_NAME=DB11G)(SERVER=DEDICATED)))'
#上面的 SERVICE_NAME=DB11G_PRI_DGMGRL 就需要 将  监听配置中的 GLOBAL_NAME=DB11G_STBY_DGMGRL

6.最后查看监听和tns 内容

#主机
[oracle@xag1124a admin]$ cat listener.ora 
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

#LISTENER =
#  (DESCRIPTION_LIST =
#    (DESCRIPTION =
#      (ADDRESS = (PROTOCOL = TCP)(HOST = xag1124a)(PORT = 1521))
#      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
#    )
#  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xag1124a)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = DB11G_PRI_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/db_1)
      (SID_NAME = DB11G)
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle


#备机
[oracle@xag1124b admin]$ cat listener.ora 
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xag1124b)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = DB11G_STBY_DGMGRL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/db_1)
      (SID_NAME = DB11G)
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

#主&备
[oracle@xag1124X admin]$ cat tnsnames.ora 
DB11G_PRI =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xag1124a)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = DB11G)
    )
  )

DB11G_STBY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xag1124b)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = DB11G)
    )
  )

7.测试切换

DGMGRL> SWITCHOVER TO db11g_stby;
Performing switchover NOW, please wait...
Operation requires a connection to instance "DB11G" on database "db11g_stby"
Connecting to instance "DB11G"...
Connected.
New primary database "db11g_stby" is opening...
Operation requires startup of instance "DB11G" on database "db11g_pri"
Starting instance "DB11G"...
ORACLE instance started.
Database mounted.
Database opened.
Switchover succeeded, new primary is "db11g_stby"


DGMGRL> show configuration;

Configuration - my_dg_cfg

  Protection Mode: MaxAvailability
  Databases:
    db11g_stby - Primary database
    db11g_pri  - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

猜你喜欢

转载自www.cnblogs.com/mydb/p/13378447.html