• DG failover TNS description list ,ADG service name 不一样的tnsnames.ora的设置


    EMCCFO=
        (DESCRIPTION_LIST=
          (FAILOVER=true)
          (LOAD_BALANCE=false)
          (DESCRIPTION=
               (ADDRESS= (PROTOCOL=TCP) (HOST= ) (PORT=1521))
               (CONNECT_DATA=
               (SERVICE_NAME=EMCC))
         )
         (DESCRIPTION=
              (ADDRESS= (PROTOCOL=TCP) (HOST= ) (PORT=1521))
              (CONNECT_DATA=
              (SERVICE_NAME=EMCCSTBY))
         )
    )

    The following is a sample TNS connect string designed for an OCI client using DataGuard with Primary SCAN and Standby SCAN hosts.

    SALES=
        (DESCRIPTION_LIST=
          (LOAD_BALANCE=off) (FAILOVER=on)
              (DESCRIPTION= (CONNECT_TIMEOUT=15)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
                 (ADDRESS_LIST= (LOAD_BALANCE=on)
                    (ADDRESS=(PROTOCOL=TCP)(HOST=PRIM_SCAN)(PORT=1521)))
                      (CONNECT_DATA=(SERVICE_NAME=oltpworkload)))
               (DESCRIPTION= (CONNECT_TIMEOUT=15)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)                 
                    (ADDRESS_LIST= (LOAD_BALANCE=on)
                        (ADDRESS=(PROTOCOL=TCP)(HOST= STBY_SCAN)(PORT=1521)))
                             (CONNECT_DATA=(SERVICE_NAME=oltpworkload))))

     

    It is necessary to use the same entry in the tnsnames.ora used by SQL*Plus in the JDBC URL.
    For example:

    The tnsnames.ora entry for the database is:

    ORADB1.WORLD =
       (DESCRIPTION_LIST=
          (DESCRIPTION=
             (ADDRESS_LIST=
                (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=)))
          (DESCRIPTION =
             (ADDRESS_LIST =
                (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=))))


    Then, the JDBC URL should be set like this:
     

    jdbc:oracle:thin:@(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=)))(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=))))

    Integration with EUS, 11g and 12c Oracle Databases, and OUD or OID. The features described in this article applies to OUD 11gR2PS3 or OID 11gR1PS7 and onwards.

    Details

    Problem
    -------
    EUS does not include the functionality to create TNS entries for a failover configuration, and there is no other Product Documentation explaining how to setup EUS for such an environment.

    Solution
    --------
    1) Register both primary and standby databases in the Directory (OUD or OID) as individual databases.

    2) Create global schema for both databases.

    2.1) Create schema mapping within an enterprise domain in the (OUD/OID) directory.

    3) Create global roles in both databases and grant privileges to them.

    3.1) Create enterprise roles in (OUD/OID) and assign primary and standby databases to both of them.

    3.2) Grant enterprise roles to LDAP groups in (OUD/OID).

    4) Test EUS, connecting to each of databases using registered service names from primary or secondary databases.

    5) Create an additional TNS entry for failover mechanism as follows -


    TNS entries in tnsnames.ora for primary and standby databases  :

    =

       (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

          (CONNECT_DATA =

           (SERVER = DEDICATED)

           (SERVICE_NAME = )

       )

    )

    =

       (DESCRIPTION =

          (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

          (CONNECT_DATA =

          (SERVER = DEDICATED)

          (SERVICE_NAME = )

      )

    )

    Note: This is an example of a configuration and the service name might be different on each server.

    Add the following Failover entry to tnsnames.ora

    DB11G=

        (DESCRIPTION_LIST=

          (FAILOVER=true)

          (LOAD_BALANCE=false)

          (DESCRIPTION=

               (ADDRESS= (PROTOCOL=TCP) (HOST=) (PORT=))

               (CONNECT_DATA=

               (SERVICE_NAME=))

         )

         (DESCRIPTION=

              (ADDRESS= (PROTOCOL=TCP) (HOST=) (PORT=))

              (CONNECT_DATA=

              (SERVICE_NAME=))

         )

    )

    This entry can be  exported to OUD using either "netmgr" or enterprise manager .



     

    Choose the TNS name "DB11g" to be exported to OUD

    In Directory (OUD or OID)  find the corresponding entries as follows:

    dn: cn=,cn=OracleContext,dc=

    orclNetDescString: (DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=)))(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=)))(CONNECT_DATA=(SERVICE_NAME=)))

    )

    objectClass: orclNetService

    objectClass: top

    cn:

    orclNetDescName: 000:cn=DESCRIPTION_LIST_0

    dn: cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetDescList: 000:cn=DESCRIPTION_0

    orclNetDescList: 001:cn=DESCRIPTION_1

    orclVersion: v0.0

    objectClass: orclNetDescriptionList

    objectClass: top

    orclNetShared: NO

    cn: DESCRIPTION_LIST_0

    dn: cn=DESCRIPTION_0,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetServiceName:

    orclVersion: v0.0

    objectClass: orclNetDescriptionAux1

    objectClass: orclNetDescription

    objectClass: top

    orclNetLoadBalance;binary: NO

    orclNetAddrList: 000:cn=ADDRESS_LIST_0

    orclNetShared: NO

    cn: DESCRIPTION_0

    dn: cn=ADDRESS_LIST_0,cn=DESCRIPTION_0,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetSourceRoute;binary: NO

    orclNetFailover;binary: YES

    orclVersion: v0.0

    objectClass: orclNetAddressList

    objectClass: top

    orclNetLoadBalance;binary: NO

    orclNetAddrList: 000:cn=ADDRESS_0

    orclNetShared: NO

    cn: ADDRESS_LIST_0

    dn: cn=ADDRESS_0,cn=ADDRESS_LIST_0,cn=DESCRIPTION_0,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetProtocol: TCP

    orclVersion: v0.0

    objectClass: orclNetAddress

    objectClass: top

    orclNetShared: NO

    cn: ADDRESS_0

    orclNetAddressString: (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=))

    dn: cn=DESCRIPTION_1,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetServiceName:

    orclVersion: v0.0

    objectClass: orclNetDescriptionAux1

    objectClass: orclNetDescription

    objectClass: top

    orclNetLoadBalance;binary: NO

    orclNetAddrList: 000:cn=ADDRESS_LIST_0

    orclNetShared: NO

    cn: DESCRIPTION_1

    dn: cn=ADDRESS_LIST_0,cn=DESCRIPTION_1,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetSourceRoute;binary: NO

    orclNetFailover;binary: YES

    orclVersion: v0.0

    objectClass: orclNetAddressList

    objectClass: top

    orclNetLoadBalance;binary: NO

    orclNetAddrList: 000:cn=ADDRESS_0

    orclNetShared: NO

    cn: ADDRESS_LIST_0

    dn: cn=ADDRESS_0,cn=ADDRESS_LIST_0,cn=DESCRIPTION_1,cn=DESCRIPTION_LIST_0,cn=,cn=OracleContext,dc=

    orclNetProtocol: TCP

    orclVersion: v0.0

    objectClass: orclNetAddress

    objectClass: top

    orclNetShared: NO

    cn: ADDRESS_0

    orclNetAddressString: (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=))


     

    6) Test the new TNS entry or log on to database

    # tnsping

    # sqlplus /@

    7) Failover can be tested by stopping the primary server. Current and new sessions will automatically switch to the failover server on (in this example)

  • 相关阅读:
    CF547E Mike and Friends (AC 自动机+树状数组)
    javascript之防抖(debounce)和节流(throttle)
    MVCC-
    华为畅享系列多款产品升级HramonyOS 4.2版本,一篇带你解读
    淘宝/天猫API:item_list_weight-批量获取商品信息
    什么是图数据库,解释图数据库的特点和应用场景
    [spark]transformation算子
    统一网关Gateway
    我想要一个勋章
    01 HTTP协议相关
  • 原文地址:https://blog.csdn.net/jnrjian/article/details/126782433