Oracle跨資料庫查詢

2021-06-20 22:56:50 字數 2347 閱讀 5910

工作中需要從乙個資料庫中的表

gis_weichai_data_1s

中的資料匯入到另個一資料庫的表

gis_weichai_data_1s

中,資料庫伺服器都是遠端的

分別為: 221.131.228.256     211.161.192.46>

!我的實現方法是在本地使用

pl/sql

操作兩個遠端伺服器,實現方式如下: 1.

為你需要操作的遠端資料庫伺服器建立本地服務名:

在本地資料庫安裝檔案中,找到$oracle_home/network/admin/tnsnames.ora檔案,

末尾新增 --

第乙個遠端伺服器的服務名:myoracle1

myoracle1 =

(description =

(address_list =

(address = (protocol = tcp)(host = 

221.131.228.256

)(port = 1521)) )

(connect_data =

(service_name = orcl) )

) --

第乙個遠端伺服器的服務名:myoracle2

myoracle2 =

(description =

(address_list =

(address = (protocol = tcp)(host = 

211.161.192.46

)(port = 1521)) )

(connect_data =

(service_name = orcl) )

) --

如果有更多的遠端資料庫需要同時操作,可以依次增加! --

如果本機用的windows作業系統,可以使用oracle自帶的net manager 工具,以圖形化的操作方式來建立服務名!2.

在本機上使用

sysdba

的角色登入本地資料庫,建立

database link:

執行如下sql語句:

--遠端伺服器一的對應database link

create public database link mydblink1   --

可以隨便取名,當然,不能是關鍵字或保留字

connect to dbusername1 identified by dbpwd1

using ' myoracle1'; --

遠端伺服器二的對應database link

create public database link mydblink2  --

可以隨便取名,當然,不能是關鍵字或保留字

connect to dbusername2 identified by dbpwd2

using ' myoracle2'; --

其中using

後面填對應的資料庫服務名,

dbusername1

,dbpwd1

填對應的資料伺服器登入名,密碼 --

刪除database link

drop database link mydblink1;  --

本例中是

mydblink1

和mydblink2 3.

操作遠端伺服器上的表,在要在對應的表後面加上@

linkname(

對應的資料庫鏈結名),就跟操作本地資料庫中的表差不多,可以從不同資料庫伺服器中提取資料!很方便!

insert into gis_weichai_data_1s@

mydblink1

select * from gis_weichai_data_1s@

mydblink2

where rownum<=10000; 4

. 如果需要頻繁的使用遠端伺服器中的表,上面的寫法有點煩人,這時候可以考慮

為這個表建立乙個同義詞

create synonym syname for gis_weichai_data_1s@mydblink1;

以後在要使用

gis_weichai_data_1s@mydblink1

的時候用syname就可以了!

刪除同義詞的語法為:

drop synonym 

syname;

5. 檢視當前資料庫的db link;

select * from user_db_links; --使用者 db link

select * from dba_db_links;  --dba db link

select * from v$dblink;      --當前db link

備註:若在另一資料庫中建立新錶,注意授權給訪問使用者。

ORACLE跨資料庫查詢

本文簡述了通過建立database link實現oracle跨資料庫查詢的方法 1.配置本地資料庫伺服器的tnsnames.ora檔案 vi oracle home network admin tnsnames.ora 新增如下行,其中dblink為連線名 可自定義 host和port為資料庫偵聽的...

Oracle跨資料庫查詢並插入

oracle跨資料庫查詢並插入 工作中需要從乙個資料庫中的表gis weichai data 1s中的資料匯入到另個一資料庫的表gis weichai data 1s中,資料庫伺服器都是遠端的!我的實現方法是在本地使用pl sql操作兩個遠端伺服器,實現方式如下 1 為你需要操作的遠端資料庫伺服器建...

Oracle跨資料庫查詢並插入

工作中需要從乙個資料庫中的表gis weichai data 1s 中的資料匯入到另個一資料庫的表gis weichai data 1s 中,資料庫伺服器都是遠端的分別為 221.131.228.256 211.161.192.46 我的實現方法是在本地使用pl sql操作兩個遠端伺服器,實現方式如...