Oracle DBLINK的相關知識整理


一、DBLINK(Database Link)概念

dblink,顧名思義就是數據庫的鏈接。當我們要跨本地數據庫訪問另一個數據庫中的表的數據時,在本地數據庫中就必須要創建遠程數據庫的dblink,通過該dblink就可以達到訪問遠程數據庫中表中數據的目的。

 注意:dblink是單向的連接。

二、DBLINK中的一些語法

1、查看庫中已建的dblink:

select * from dba_db_links;

或者

select owner,object_name from dba_objects where object_type='DATABASE LINK';

通過以上sql可以查詢出相應的數據庫下已建的dblink;

2、創建dblink:

前提:創建dblink的用戶必須有創建的權限,可以使用下面語句進行授權:

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:遠程數據庫的用戶名,口令。如果不指定,則默認使用當前的用戶名和口令登錄到遠程數據庫。

3、測試創建的dblink是否可用:

SELECT * FROM worker@zrhs_link;

若可查出數據,則表明dblink是通的可用~~~

 4、刪除dblink:

1)刪除public的dblink:

DROP PUBLIC database link link_name;

2)刪除非public的dblink:

DROP database link link_name;

注*只有owner自己能刪除自己的非public類型dblink。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM