close

在Oracle Database中,當我們想要查詢其它資料庫的時候,可以利用Database Link來達成目的。


CREATE DATABASE LINK DBlink_Name

CONNECT TO user IDENTIFIED BY "password"

using 'Service_Name';

 

user為連結的帳號,password為連結的密碼,user必須要授予CONNECT角色,才能具有ALTER SESSION、CREATE CLUSTER/DATABASE LINK/SEQUENCE/SESSION/SYNONYM/VIEW的權限。


GRANT CONNECT to user;


using的部分,輸入下面tnsnames.ora建立的SERVICE_NAME

 

為了要從本機端去查詢遠端資料庫的內容,因此我們必須先修改tnsnames.ora,增加連線到遠端的位址。


tnsnames.ora位置通常在\product\11.2.0\dbhome_1\NETWORK\ADMIN裡面。


1.增加遠端資料庫的Service Name(orcl)


PRODUCT =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )


2.建立Database Link


CREATE DATABASE LINK orcl_dblink

CONNECT TO scott IDENTIFIED BY "tiger"

using 'orcl';

 

3.查詢遠端資料庫(orcl)的內容


SELECT * FROM scott.emp@orl_dblink


@orl_dblink代表這段查詢是要透過Database Link來完成。


4.移除Database Link


DROP DATABASE LINK orl_dblink;


5.查詢Database Link情況


SELECT * FROM v$dblink; 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 auneths 的頭像
    auneths

    Next Innovation

    auneths 發表在 痞客邦 留言(0) 人氣()