1 回答

TA貢獻(xiàn)1848條經(jīng)驗 獲得超10個贊
通過database links的方法具體如下:
假設(shè)DB1、DB2兩個數(shù)據(jù)庫,現(xiàn)在要在DB1中使用DB2的表,那么在DB1數(shù)據(jù)庫中創(chuàng)建db link的命令如下:
一、創(chuàng)建database link
-- Create database link
create database link db_1
connect to db_2_user identified by "db_2_user_password"
using 'DEMO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = db_2_ip)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db_2_server)
)
)';
其中,
db_1是db link的名稱;
db_2_user是DB2這臺機(jī)器上源數(shù)據(jù)庫的用戶名;
db_2_user_password是密碼;
db_2_ip是DB2數(shù)據(jù)庫地址,
db_2_server是DB2數(shù)據(jù)庫服務(wù)名。
這樣就可以,如果要訪問B數(shù)據(jù)庫的test表,可以“表名@數(shù)據(jù)鏈接名”這樣用,如:
select * from test@db_1;
二、使用
注意點:如果在DB1的oracle clinet上通過database links訪問DB2的表,需要在DB1的服務(wù)器的tnsnames正確指向DB2。假設(shè)DB_LINK是想從DB1連接到DB2,需要配置DB1機(jī)器上的tnsnames正確指向DB2。如果確認(rèn)DB1上的tnsnames中配置正確;那么再確認(rèn)正確的tnsnames被使用了,也就是說DB1機(jī)器上系統(tǒng)的環(huán)境變量指向哪個oracle的bin目錄,使用的是不是配置正確的那個tnsnames文件。兩個tnsnames正確配置完成后就可以使用了。
添加回答
舉報