oracle在進(jìn)行跨庫(kù)訪問時(shí),可以通過創(chuàng)建dblink實(shí)現(xiàn),今天就簡(jiǎn)單的介紹下如果創(chuàng)建dblink,以及通過dblink完成插入、修改、刪除等操作
首先了解下環(huán)境:在tnsnames.ora中配置兩個(gè)數(shù)據(jù)庫(kù)別名:orcl(用戶名:wangyong 密碼:1988)、orcl2(用戶名:wangyong 密碼:123456),在orcl中 創(chuàng)建database link來訪問orcl2
第一步:賦予權(quán)限
在創(chuàng)建database link之前,我們需要判斷,登陸的用戶是否具備創(chuàng)建database link 的權(quán)限,所以我們執(zhí)行以下的語句(用wangyong用戶登陸orcl):
-- 查看wangyong用戶是否具備創(chuàng)建database link 權(quán)限select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='WANGYONG';
如果查詢有返回行,則表示具備創(chuàng)建database link權(quán)限,否則,則需要使用sys登陸orcl為WANGYONG用戶賦予創(chuàng)建權(quán)限
-- 給wangyong用戶授予創(chuàng)建dblink的權(quán)限grant create public database link to wangyong;
此時(shí),再執(zhí)行上面查看是否具備權(quán)限的sql語句,會(huì)發(fā)現(xiàn)有返回行,表示,WANGYONG這個(gè)用戶已經(jīng)具備創(chuàng)建database link的權(quán)限
第二步;創(chuàng)建database link
我所了解到的創(chuàng)建方式有兩種:1)通過pl/sql developer圖形化創(chuàng)建、2)通過sqlplus中的sql語句創(chuàng)建,依次來看
1)pl/sql developer 圖形化創(chuàng)建
填寫完成后點(diǎn)擊“Apply”按鈕即可創(chuàng)建成功。
2)sql語句創(chuàng)建
-- 注意一點(diǎn),如果密碼是數(shù)字開頭,用“”括起來create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL21'
這樣,就完成了簡(jiǎn)單database簡(jiǎn)單的創(chuàng)建
第三步:操作
首先,我們需要在ORCL2庫(kù)中新建一張表,并插入部分?jǐn)?shù)據(jù),如下圖:
現(xiàn)在,我們通過database link 在orcl中訪問這張屬于orcl2庫(kù)中WANGYONG的表COMPANY
從截圖中可以看到,在ORCL中可以成功訪問到ORCL2中用戶WANGYONG的表
下面,利用同樣的方式,進(jìn)行插入,修改,刪除操作,依次看截圖,每一次操作后均執(zhí)行查詢語句,可對(duì)比執(zhí)行效果:
1)插入
2)修改
3)刪除
至此,簡(jiǎn)單的dblink操作就可以了,對(duì)于上面的鏈接字符串,還可以創(chuàng)建同義詞代替,會(huì)稍微省點(diǎn)事
-- 創(chuàng)建同義詞
create synonym TESTSYNONYM FOR company@TESTLINK1;
那么上面的查詢、插入、修改、刪除中可直接用WYSYNONYM代替company@TESTLINK1即可,例如查詢語句可改成如下方式(插入,修改,刪除類似):
-- 查詢ORCL2中WANGYONG用戶的表COMPANYSELECT * FROM TESTSYNONYM order by id
今天是大年初一,寫完睡覺??!
聯(lián)系客服