關於DBLINK的概念在本文中不再贅述,本文主要介紹DBLINK的建立。
1.建立環境描述
本文將在兩台作業系統為紅帽5.5版本、裝有Oracle 11g的虛擬機器中進行DBLINK的建立以及測試工作。
2.主機配置
1)配置主機tnsname.ora檔案
[oracle@ENMOEDU schema]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/
[oracle@ENMOEDU admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ENMOEDU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ENMOEDU)
)
)
FRANK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.27)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = FRANK)
)
)
將要串連的資料庫的資訊寫入主機的tnsname.ora檔案中。
3.在主機上建立DBLINK
1)本文中以hr使用者為例,首先授予hr使用者權限:
SYS@ENMOEDU > grant create public database link,create database link to hr;
Grant succeeded.
2)建立DBLINK
SYS@ENMOEDU > conn hr/oracle
Connected.
HR@ENMOEDU > create database link hrlink connect to hr identified by oracle using 'FRANK';
Database link created.
4.測試
1)在被串連的資料庫上的hr使用者下的EMPLOYEES表中,刪除一行資料
SQL> select EMPLOYEE_ID,FIRST_NAME from EMPLOYEES
2 where FIRST_NAME='Pat';
EMPLOYEE_ID FIRST_NAME
----------- --------------------
202 Pat
SQL> DELETE FROM EMPLOYEES
2 where FIRST_NAME='Pat';
1 row deleted.
SQL> commit;
Commit complete.
2)在主機上查看被串連資料庫的hr使用者下EMPLOYEES表
HR@ENMOEDU > select EMPLOYEE_ID,FIRST_NAME from EMPLOYEES@hrlink
2 where FIRST_NAME='Pat';
no rows selected
HR@ENMOEDU > select EMPLOYEE_ID,FIRST_NAME from EMPLOYEES@hrlink
2 where FIRST_NAME='Shelley';
EMPLOYEE_ID FIRST_NAME
----------- --------------------
205 Shelley
至此,DBLINK建立成功。
Frank
2014.04.08
--To be continued--