oracle跨資料庫查詢並插入
工作中需要從乙個資料庫中的表gis_weichai_data_1s中的資料匯入到另個一資料庫的表gis_weichai_data_1s中,資料庫伺服器都是遠端的!我的實現方法是在本地使用pl/sql操作兩個遠端伺服器,實現方式如下:
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跨資料庫查詢並插入
工作中需要從乙個資料庫中的表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...
Oracle跨資料庫查詢並插入
工作中需要從乙個資料庫中的表 gis weichai data 1s 中的資料匯入到另個一資料庫的表 gis weichai data 1s 中,資料庫伺服器都是遠端的 分別為 221.131.228.256211.161.192.46 我的實現方法是在本地使用 pl sql 操作兩個遠端伺服器,實...