oracle db link的檢視建立與刪除

Davis_itpub發表於2018-06-27

 <wbr>

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 <wbr>
        可以使用
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>


grant create public database link,create database link to myAccount;
        來授權.<wbr><wbr><wbr><wbr><wbr><wbr><wbr>

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中使用<wbr><wbr><wbr>


show parameter[s] service_names;

        注意parameter和parameters都可以
    2.使用<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>


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

    <wbr><wbr><wbr><wbr>
3.使用db link
    例如,在本機資料庫上建立了一個scott_rmthost的public dblink(使用遠端主機的scott使用者連線),則用sqlplus連線到本機資料庫,執行select * from scott.emp@scott_rmthot即可以將遠端資料庫上的scott使用者下的emp表中的資料獲取到.<wbr><wbr><wbr>
    也可以在本地建一個同義詞來指向scott.emp@scott_rmthost,這樣取值就方便多了.<wbr><wbr><wbr>

4.刪除
    注意:使用者有create public database link 或者create database link 許可權.
<wbr><wbr><wbr>


drop public database link dblinkname;
<!-- 正文結束 --&gt

相關文章