国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle跨數據庫查詢并插入實現原理及代碼

2024-08-29 13:55:19
字體:
來源:轉載
供稿:網友
工作中需要從一個數據庫中的表GIS_WEICHAI_DATA_1S中的數據導入到另個一數據庫的表GIS_WEICHAI_DATA_1S中,數據庫服務器都是遠程的<IP分別為: 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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁城县| 佛冈县| 泊头市| 东城区| 故城县| 安陆市| 囊谦县| 江都市| 松溪县| 同心县| 喀喇| 通许县| 昂仁县| 西丰县| 奉贤区| 乌拉特前旗| 遂川县| 南京市| 綦江县| 依兰县| 米脂县| 西峡县| 司法| 景德镇市| 岫岩| 枝江市| 哈巴河县| 丹巴县| 奎屯市| 滦南县| 米泉市| 馆陶县| 奇台县| 华阴市| 改则县| 安义县| 渭南市| 大同市| 平顺县| 右玉县| 闻喜县|