蘭州做網(wǎng)站公司哪家好十大門戶網(wǎng)站
Oracle的數(shù)據(jù)庫鏈路(dbLink)是一種允許在兩個(gè)不同的數(shù)據(jù)庫實(shí)例之間進(jìn)行通信和數(shù)據(jù)交換的功能。它可以讓你在一個(gè)數(shù)據(jù)庫中訪問另一個(gè)數(shù)據(jù)庫的對(duì)象和數(shù)據(jù),就像它們屬于同一個(gè)數(shù)據(jù)庫一樣。
創(chuàng)建一個(gè)link:
CREATE public DATABASE LINK link_scott
CONNECT TO scott IDENTIFIED BY "tiger"
USING '192.168.1.101/orcl';
代表創(chuàng)建一個(gè)公共的數(shù)據(jù)庫鏈路,名稱為link_scott,連接指向orcl實(shí)例下面的scott用戶,tiger為scott用戶的密碼。192.168.1.101為orcl實(shí)例的地址。
創(chuàng)建完成后,可以通過下面語句查詢scott用戶的表emp:
SELECT * FROM emp @link_scott;
?
如果覺得這樣寫比較麻煩,可以創(chuàng)建一個(gè)同義詞,簡(jiǎn)化查詢語句:
create synonym emp for emp @link_scott;
?
同義詞創(chuàng)建完成后,查詢語句可以寫為:
SELECT * FROM emp;
dblink使用場(chǎng)景,一般用于兩個(gè)不同數(shù)據(jù)庫之間,為了能訪問其他數(shù)據(jù)庫用戶的數(shù)據(jù)。為另外一個(gè)數(shù)據(jù)庫用戶創(chuàng)建一個(gè)數(shù)據(jù)庫鏈接。
如果是同一個(gè)數(shù)據(jù)庫之間不同用戶的數(shù)據(jù)庫對(duì)象訪問,則使用賦權(quán)的方式,例如同一個(gè)數(shù)據(jù)庫中,test1用戶想訪問scott用戶的表emp,則操作如下:
1.將scott用戶中emp表的查詢權(quán)限給test1用戶(sys用戶操作)
grant select on scott.emp to test1;
2.test1用戶查詢emp表(test1用戶操作)
SELECT * FROM scott.emp;
如果要簡(jiǎn)化查詢語句的寫法,則可以創(chuàng)建同義詞(sys用戶操作,也可以賦權(quán)給test1,語法為GRANT CREATE SYNONYM TO TEST1;)
create synonym test1.emp for ?scott.emp;
然后再查詢emp表
SELECT * FROM emp;
關(guān)于dblink參考鏈接:
https://blog.csdn.net/newbie158/article/details/131070398
https://www.lmlphp.com/user/57840/article/item/2209152/