Oracle DBLINK的相關知識整理

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。

相關文章
相關標籤/搜索