GLOBAL_NAME的影響


GLOBAL_NAME的影響:

       GLOBAL_NAME會影響到SQLNET.ORA、TNSNAME.ORA、DB_LINK等設定,詳述如下:

       1、SQLNET.ORA:其GLOBAL_NAME會影響到參數NAMES.DEFAULT_DOMAIN,而這個參數會

             影響到TNSNAME.ORA的設定,例如:

             GLOBAL_NAME:AA.US.ORACLE.COM

             SQLNET.ORA內的參數  NAMES.DEFAULT_DOMAIN=CHIAI.COM.TW

             因為尾碼網域名稱的不同(US.ORACLE.COM、CHIAI.COM.TW),在設定TNSNAME時,就必

             需加上CHIAI.COM.TW,如:

             BDU110.CHIAI.COM.TW =
                  (DESCRIPTION =
                      (ADDRESS_LIST =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.3)(PORT = 1521))
                      )
                      (CONNECT_DATA =
                         (SERVICE_NAME = orcl)
                     )
                  )

             如果為下列情況:

             GLOBAL_NAME:AA.US.ORACLE.COM

             SQLNET.ORA內的參數  NAMES.DEFAULT_DOMAIN=US.ORACLE.COM  或者沒有該參數時

             因為尾碼網域名稱的相同(US.ORACLE.COM),在設定TNSNAME時,就不必指定網域名稱,如:

             BDU110 =
                  (DESCRIPTION =
                      (ADDRESS_LIST =
                         (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.3)(PORT = 1521))
                      )
                      (CONNECT_DATA =
                         (SERVICE_NAME = orcl)
                     )
                  )

       2、DB_LINK:如果兩個資料庫網域名稱不一樣時,建立DB_LINK都不會有問題,用OEM管理工具

             來測試也不會有問題,但是問題會出現在程式要讀取遠端資料庫的表格,例如:

             DB_LINK:BDU110.US.ORACLE.COM

             GLOBAL_NAME:AA.CHIAI.COM.TW

             當使用 SELECT * FROM EMP@BDU110時會發生找不到遠端資料庫的錯誤,必須使用全名

             SELECT * FROM EMP@BDU110.US.ORACLE.COM

             如果同一個網域,如下:

            DB_LINK:BDU110.US.ORACLE.COM

            GLOBAL_NAME:AA.US.ORACLE.COM

            則無論使用SELECT * FROM EMP@BDU110或SELECT * FROM EMP@BDU110.US.ORACLE.COM

           都不會有問題。