軟件環境
Windows NT
+ORACLE
ORACLE安裝路徑為
C:\ORANT
服務器A
服務器B
均裝有NT
中文版
實現方法
假設A地址
B地址
A
B上配置好TCP/IP
互相Ping通
配置init
ora文件
若global_name = true的話
database link 的名字必須同遠程機的實例名相同
為簡便起見
請將global_name 設為 false
在服務器上配置tnsnames
ora
將Remote機器的地址(IP)信息加入本地的tnsnames
ora
A服務器
TNSA_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp
world)
(PROTOCOL = TCP)
(Host =
)
(Port =
)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
B服務器
TNSB_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp
world)
(PROTOCOL = TCP)
(Host =
)
(Port =
)
)
)
(CONNECT_DATA = (SID = ORCL)
)
)
在 SQL*Plus 或其它工具中創建數據庫鏈接
A服務器
create public database link A_TO_B connect to tmp identified by tmp using
TNSA_B
;
B服務器
create public database link B_TO_A connect to tmp identified by tmp using
TNSB_A
;
說明
tmp是一個臨時用戶
A服務器
B服務器上均有
它的作用是提供鏈接的目的地
假如
B服務器上有user
user
tmp三個用戶
user
和user
把他們想要對外公開的表的權限授給tmp用戶
那麼
所有能通過database link連接到tmp用戶上的人就可以直接訪問user
user
上的已授權表了
建立database link以後
請用這種格式select * from table_name@database_link_name 的方式訪問
如
在A服務器上想訪問B服務器上user
用戶table
表的內容(A到B的連接為A_TO_B)
則
SQL> select * from table
@A_TO_B;
如果Oracle版本為
則數據庫聯接寫法如下
A服務器
create public database link A_TO_B connect to tmp identified by tmp using
t:
:orcl
;
B服務器
create public database link B_TO_A connect to tmp identified by tmp using
t:
:orcl
;
From:http://tw.wingwit.com/Article/program/Oracle/201311/18153.html