DBLINK詳解
1.建立dblink文法:
CREATE [PUBLIC] DATABASE LINK link
CONNECT TO username IDENTIFIED BY password
USING ‘connectstring’
說明:
1) 許可權:建立資料庫連結的帳號必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統許可權,用來登入到遠端資料庫的帳號必須有CREATE SESSION許可權。這兩種許可權都包含在CONNECT角色中(CREATE PUBLIC DATABASE LINK許可權在DBA中)。一個公用資料庫連結對於資料庫中的所有使用者都是可用的,而一個私人連結僅對建立它的使用者可用。由一個使用者給另外一個使用者授權私 有資料庫連結是不可能的,一個資料庫連結要麼是公用的,要麼是私人的。
2)link : 當GLOBAL_NAME=TRUE時,link名必須與遠端資料庫的全域資料庫名global_name)相同;否則,可以任意命名。
3)connectstring:連接字串,tnsnames.ora中定義遠端資料庫的串連串。
4)username、password:遠端資料庫的使用者名稱,口令。如果不指定,則使用當前的使用者名稱和口令登入到遠端資料庫。
2.刪除資料庫連結的語句:
DROP [PUBLIC] DATABASE LINK zrhs_link
3.查看已建立的dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';
4.dblink的引用:
[user.]table|view@dblink
如:
SELECT * FROM worker@zrhs_link;
SELECT * FROM camel.worker@zrhs_link ;
5.建立同義字:
對於經常使用的資料庫連結,可以建立一個本地的同義字,方便使用:
CREATE SYNONYM worker_syn FOR worker@zrhs_link;
6.建立遠程視圖:
CREATE VIEW worker AS SELECT * FROM worker@zrhs_link where…;
現在本視圖可與本機資料庫中的任何其它視圖一樣對待,也可以授權給其它使用者訪問此視圖,但該使用者必須有訪問資料庫連結的許可權。