在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;