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
都不會有問題。
全站熱搜
留言列表