Oracle跨資料庫查詢並插入

2022-04-08 14:24:54 字數 2060 閱讀 3839

oracle跨資料庫查詢並插入

工作中需要從乙個資料庫中的表gis_weichai_data_1s中的資料匯入到另個一資料庫的表gis_weichai_data_1s中,資料庫伺服器都是遠端的!我的實現方法是在本地使用pl/sql操作兩個遠端伺服器,實現方式如下:  www.2cto.com  

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

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

末尾新增

--第乙個遠端伺服器的服務名:myoracle1  www.2cto.com  

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跨資料庫查詢並插入

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操作兩個遠端伺服器,實現方式如...

Oracle跨資料庫查詢並插入

1.為你需要操作的遠端資料庫伺服器建立本地服務名 在本地資料庫安裝檔案中,找到 oracle home network admin tnsnames.ora檔案,末尾新增 第乙個遠端伺服器的服務名 myoracle1 myoracle1 description address list addres...