ORACLE 11G R2 DGBROKER 之总结

总得来说 DG BROKER 这工具配起来不难, 它继承了一惯的风格. 就是网络和命名的问题.

1 数据库唯一名称 DB_UNIQUE_NAME 要注意大小写

 在创建配置文件时候和加入备用库的时候

 CREATE CONFIGURATION <configurationname> AS

    PRIMARY DATABASE IS <database name>

CONNECT IDENTIFIER IS <connect identifier>;


  ADD DATABASE<database name>    <--数据库唯一名称

    [AS CONNECT IDENTIFIERIS <connect identifier>]  <--TNSNAME

    [MAINTAINED AS{PHYSICAL|LOGICAL}];


如果是大写的话 必须带上引号!


在使用过程中 比如 enable database 'DBMAST'


2 在操作过程中必须连上一台服务器 CONNECT SYS/ORCLE@DBMAST;

  这样才能从数据库获取属性和配置文件核对. 才是的配置文件生效,并且及时发现问题.


3 11G R2 会动态注册个服务 DBMAST_DGB

   而我的备库没有开启动态注册 DBSALVE_DGB 没有注册到监听上,当它切换成主库后,备库恢复会发某名的问题


4 配置文件中的数据库属性 有个连接属性 StaticConnectIdentifier

   这个属性要多注意下,小心写错. 

 另外 SERVICE_NAME=DBSALVE_DGMGRL.shark.com  默认情况是 SERVICE_NAME=DBSALVE_DGMGRL

 这个需要监听配置增加个(GLOBAL_DBNAME = DBSALVE_DGMGRL.shark.com)


5 因为DG_BROKER 是后期加入的功能,因此不会修改目前的监听和网络配置

  在这中情况下只会增加

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = DBSALVE_DGMGRL.shark.com)
      (ORACLE_HOME = /u01/app/software/oracle/product/11.2.0/db_1)
      (SID_NAME = DBSALVE)
    )

    (SID_DESC =
      (GLOBAL_DBNAME = DBSALVE)
      (ORACLE_HOME = /u01/app/software/oracle/product/11.2.0/db_1)
      (SID_NAME = DBSALVE)
    )
  )


TNS_NAME.ORA 也增加

STBDGMGR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DBSALVE_DGMGRL.shark.com)
    )
  )


MABDGMGR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.200)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DBMAST_DGMGRL.shark.com)
    )
  )


这都是因为配置文件数据库属性:  DGConnectIdentifier             = 'stbdgmgr' 

 这个属性必须TNS_NAME 对应的 服务 DBMAST_DGMGRL


6 在FAILE OVER 后  重置主库到备库后

   reinstate database 'DBMAST'

它会修改  set log_archive_dest_2   改成STBDGMGER 网络命名 当这个命名没加进 log_archive_config =" dg_config=(DBMAST,DBSALVE,DBSA LVE2)"

所以要人工修改回来 alter system set log_archive_dest_2='service=DBSALVE LGWR SYNC AFFIRM db_unique_name=DBSALVE valid_for=(all_logfiles,primary_role)' scope=both;



最后说 做了两遍自动failed over 一切都好起来了.

你可能感兴趣的:(oracle,over,dataguard,11g,Fast,faile,DG_BROKER)