DBLINK



database link概述 

       database link 是定義一個數據庫到另一個數據庫的路徑的對象, database link 允許你查詢遠程表及執行遠程程序。在任何分佈式環境裏,database 都是必要的。另外要注意的是 database link 是單向的連接。

 

1.查看dblink

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

或者

select * from dba_db_links;

2.創建dblink

前提:

    創建dblink的用戶有對應的數據庫權限

        create public database link 或者create database link

        可以使用

grant create public database link,create database link to myAccount;

        來授權.

create public database link dblinkname connect to username identified by password

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME =servicename)

)

)';

如果在create之後不加public,則創建的dblink就不是公共的,就只有創建者可以使用了.

補充:如何確定數據庫的servicename:

    1.在sqlplus中使用

show parameter[s] service_names;

        注意parameter和parameters都可以

    2.使用

select name,value from v$parameter where name='service_names'

   

3.使用db link

    例如,在本機數據庫上創建了一個scott_rmthost的public dblink(使用遠程主機的scott用戶連接),則用sqlplus連接到本機數據庫,執行select * from scott.emp@scott_rmthot即可以將遠程數據庫上的scott用戶下的emp表中的數據獲取到.

    也可以在本地建一個同義詞來指向scott.emp@scott_rmthost,這樣取值就方便多了.

4.刪除

    注意:用戶有create public database link 或者create database link 權限.

drop public database link dblinkname;

 

發佈了31 篇原創文章 · 獲贊 34 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章