1、DBLINK(Database Link)概念sql
dblink,顧名思義就是數據庫的連接。當咱們要跨本地數據庫訪問另外一個數據庫中的表的數據時,在本地數據庫中就必需要建立遠程數據庫的dblink,經過該dblink就能夠達到訪問遠程數據庫中表中數據的目的。數據庫
注意:dblink是單向的鏈接。測試
2、DBLINK中的一些語法spa
一、查看庫中已建的dblink:code
select * from dba_db_links;
或者blog
select owner,object_name from dba_objects where object_type='DATABASE LINK';
經過以上sql能夠查詢出相應的數據庫下已建的dblink;字符串
二、建立dblink:string
前提:建立dblink的用戶必須有建立的權限,可使用下面語句進行受權:class
grant create public database link,create database link to myAccount;
dblink建立語法以下:登錄
CREATE [PUBLIC] DATABASE LINK dblinkname CONNECT TO username IDENTIFIED BY password USING 'connectstring'
說明:
1)權限:若是在create以後不加public,則建立的dblink就不是共用的,就只有建立者本身可使用,一個公用的dblink對於數據庫中全部用戶都是可用的。
2)link:當本地GLOBAL_NAME=TRUE時,link名必須與遠程數據庫的全局數據庫名global_name相同,不然會報以下錯誤:
Oracle ORA-02069: 此操做的 global_names 參數必須設置爲 TRUE
3)'connectstring':鏈接字符串,在配置文件tnsnames.ora中定義遠程數據庫的鏈接串。
注*若在遠程數據庫的tnsnames.ora中未配置本地數據庫的connectstring,則在本地建立dblink的時候必須使用字符串建立,database不可以使用別名。
4)username、password:遠程數據庫的用戶名,口令。若是不指定,則默認使用當前的用戶名和口令登陸到遠程數據庫。
三、測試建立的dblink是否可用:
SELECT * FROM worker@zrhs_link;
若可查出數據,則代表dblink是通的可用~~~
四、刪除dblink:
1)刪除public的dblink:
DROP PUBLIC database link link_name;
2)刪除非public的dblink:
DROP database link link_name;
注*只有owner本身能刪除本身的非public類型dblink。