1、在需要操作的服務(wù)器用sys/system as sysdba登錄,建立databaselinks
create public database link f35ora //連接名
connect to zhxhjj //另一服務(wù)器上的Oracle用戶
identified by "zhxhjj" //密碼
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521)) //192.168.1.2是被查詢的服務(wù)器
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
語(yǔ)法:
create public database link 連接名 connect to (用戶名) identified by 用戶密碼
using 's-server';
其中USING內(nèi)容為你PL/SQL中想要操作的數(shù)據(jù)庫(kù)信息;即我們監(jiān)聽tnsnames.ora文件中的內(nèi)容
也可以在tnsnames.ora中增加一段監(jiān)聽,例如命名為f35server
上面的數(shù)據(jù)庫(kù)連接就可以寫成
create public database link f35ora
connect to zhxhjj
identified by "zhxhjj"
using 'f35server';
2、跨服務(wù)器查詢
select * from rzj_depot@f35ora
題外話
如果f35ora連的是Oracle數(shù)據(jù)庫(kù),則在查詢指定字段時(shí)可以直接寫字段名
select depot_no from rzj_depot@f35ora
如果f35ora連的是SQL數(shù)據(jù)庫(kù),則在查詢指定字段時(shí)要在字段上加雙引號(hào)
select "depot_no" from rzj_depot@f35ora