日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle跨库插入数据,Oracle跨数据库查询并插入实现原理及代码

發(fā)布時間:2023/12/31 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle跨库插入数据,Oracle跨数据库查询并插入实现原理及代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

工作中需要從一個數(shù)據(jù)庫中的表GIS_WEICHAI_DATA_1S中的數(shù)據(jù)導(dǎo)入到另個一數(shù)據(jù)庫的表GIS_WEICHAI_DATA_1S中,數(shù)據(jù)庫服務(wù)器都是遠程的!我的實現(xiàn)方法是在本地使用PL/SQL操作兩個遠程服務(wù)器,實現(xiàn)方式如下:

1.

為你需要操作的遠程數(shù)據(jù)庫服務(wù)器建立本地服務(wù)名:

在本地數(shù)據(jù)庫安裝文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件,

末尾添加

--第一個遠程服務(wù)器的服務(wù)名:MYORACLE1

MYORACLE1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 221.131.228.256)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

--第一個遠程服務(wù)器的服務(wù)名:MYORACLE2

MYORACLE2 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 211.161.192.46)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

--如果有更多的遠程數(shù)據(jù)庫需要同時操作,可以依次增加!

--如果本機用的Windows操作系統(tǒng),可以使用Oracle自帶的Net Manager 工具,以圖形化的操作方式來建立服務(wù)名!

2.

在本機上使用sysdba的角色登錄本地數(shù)據(jù)庫,創(chuàng)建database link:

執(zhí)行如下sql語句:

--遠程服務(wù)器一的對應(yīng)database link

create public database link MYDBLINK1 --可以隨便取名,當然,不能是關(guān)鍵字或保留字

connect to dbUserName1 identified by dbpwd1

using ' MYORACLE1';

--遠程服務(wù)器二的對應(yīng)database link

create public database link MYDBLINK2 --可以隨便取名,當然,不能是關(guān)鍵字或保留字

connect to dbUserName2 identified by dbpwd2

using ' MYORACLE2';

--其中using后面填對應(yīng)的數(shù)據(jù)庫服務(wù)名,dbUserName1,dbpwd1填對應(yīng)的數(shù)據(jù)服務(wù)器登錄名,密碼

--刪除database link

Drop database link MYDBLINK1; --本例中是MYDBLINK1和MYDBLINK2

3.

操作遠程服務(wù)器上的表,在要在對應(yīng)的表后面加上@ linkName(對應(yīng)的數(shù)據(jù)庫鏈接名),就跟操作本地數(shù)據(jù)庫中的表差不多,可以從不同數(shù)據(jù)庫服務(wù)器中提取數(shù)據(jù)!很方便!

insert into GIS_WEICHAI_DATA_1S@MYDBLINK1 select * from GIS_WEICHAI_DATA_1S@ MYDBLINK2 where rownum<=10000;

4.

如果需要頻繁的使用遠程服務(wù)器中的表,上面的寫法有點煩人,這時候可以考慮為這個表創(chuàng)建一個同義詞

create synonym syName for GIS_WEICHAI_DATA_1S@MYDBLINK1;

以后在要使用GIS_WEICHAI_DATA_1S@MYDBLINK1的時候用syName就可以了!

刪除同義詞的語法為:

drop synonym syName;

5.

查看當前數(shù)據(jù)庫的DB Link;

select * from user_db_links; --用戶 DB Link

select * from dba_db_links; --dba DB Link

select * from v$dblink; --當前DB Link

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的oracle跨库插入数据,Oracle跨数据库查询并插入实现原理及代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。