關(guān)于Oracle數(shù)據(jù)庫dbLink的創(chuàng)建和使用詳解
dbLink
Oracle的數(shù)據(jù)庫鏈路(dbLink)是一種允許在兩個不同的數(shù)據(jù)庫實例之間進行通信和數(shù)據(jù)交換的功能。
它可以讓你在一個數(shù)據(jù)庫中訪問另一個數(shù)據(jù)庫的對象和數(shù)據(jù),就像它們屬于同一個數(shù)據(jù)庫一樣。
創(chuàng)建一個link:
CREATE public DATABASE LINK link_scott CONNECT TO scott IDENTIFIED BY "tiger" USING '192.168.1.101/orcl';
代表創(chuàng)建一個公共的數(shù)據(jù)庫鏈路,名稱為link_scott,連接指向orcl實例下面的scott用戶,tiger為scott用戶的密碼。
192.168.1.101為orcl實例的地址。
創(chuàng)建完成后,可以通過下面語句查詢scott用戶的表emp:
SELECT * FROM emp @link_scott;
如果覺得這樣寫比較麻煩,可以創(chuàng)建一個同義詞,簡化查詢語句:
create synonym emp for emp @link_scott;
同義詞創(chuàng)建完成后,查詢語句可以寫為:
SELECT * FROM emp;
dblink使用場景
一般用于兩個不同數(shù)據(jù)庫之間,為了能訪問其他數(shù)據(jù)庫用戶的數(shù)據(jù)。
為另外一個數(shù)據(jù)庫用戶創(chuàng)建一個數(shù)據(jù)庫鏈接。
如果是同一個數(shù)據(jù)庫之間不同用戶的數(shù)據(jù)庫對象訪問,則使用賦權(quán)的方式,例如同一個數(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;
如果要簡化查詢語句的寫法,則可以創(chuàng)建同義詞(sys用戶操作,也可以賦權(quán)給test1,語法為GRANT CREATE SYNONYM TO TEST1;)
create synonym test1.emp for scott.emp;
然后再查詢emp表
SELECT * FROM emp;
注意:
創(chuàng)建數(shù)據(jù)庫鏈接的帳號必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統(tǒng)權(quán)限,用來登錄到遠(yuǎn)程數(shù)據(jù)庫的帳號必須有CREATE SESSION權(quán)限。
這兩種權(quán)限都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK權(quán)限在DBA中)。
如果創(chuàng)建全局dblink,必須使用systm或sys用戶,在database前加public。
oracle dblink解決后臺卻出現(xiàn)鎖
創(chuàng)建是很簡單,但是在使用中后臺卻出現(xiàn)鎖,查看這個鎖的方法可以去console中看到或者查詢數(shù)據(jù)庫。
其實這個鎖倒不是最讓人心煩的,而是每次使用 dblink查詢的時候,均會與遠(yuǎn)程數(shù)據(jù)庫創(chuàng)建一個連接,dblink應(yīng)該不會自動釋放這個連接,如果是大量使用dblink查詢,會造成web 項目的連接數(shù)不夠,導(dǎo)致系統(tǒng)無法正常運行。
到此這篇關(guān)于關(guān)于Oracle數(shù)據(jù)庫dbLink的創(chuàng)建和使用詳解的文章就介紹到這了,更多相關(guān)Oracle的dbLink內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle中where 子句和having子句中的區(qū)別介紹
這篇文章主要介紹了在oracle中where 子句和having子句中的區(qū)別,本文通過sql語句給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12Oracle中 關(guān)于數(shù)據(jù)庫存儲過程和存儲函數(shù)的使用
本篇文章,小編將為大家介紹,在Oracle中 關(guān)于數(shù)據(jù)庫存儲過程和存儲函數(shù)的使用,有需要的朋友可以參考一下2013-04-04在Oracle實例關(guān)閉時如何修改spfile的參數(shù)詳解
這篇文章主要給大家介紹了關(guān)于在Oracle實例關(guān)閉時如何修改spfile參數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07