當用戶要跨本地數據庫,訪問另一個數據庫表中的數據時,本地數據庫中必須建立了遠程數據庫的dblink,經過dblink本地數據庫能夠像訪問本地數據庫同樣訪問遠程數據庫表中的數據。下面講介紹我以前項目中如何在本地數據庫中建立dblink。sql
本地數據庫創建數據庫連接"DBLINK_OUT"數據庫
CREATE DATABASE LINK "DBLINK_OUT"
CONNECT TO "REMOTE_DB" IDENTIFIED BY VALUES 'REMOTE_DB_PASS'
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.43)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)'服務器
遠程數據庫創建數據庫連接"DBLINK_IN"class
CREATE DATABASE LINK "DBLINK_IN"
CONNECT TO "LOCAL_DB" IDENTIFIED BY VALUES 'LOCAL_DB_PASS'
USING '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.142)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)'test
查詢、刪除和插入數據和操做本地的數據庫是同樣的,只不過表名須要寫成「表名@dblink服務器」而已。登錄
例如:若是想在本地數據庫中經過dblink訪問遠程數據庫'orcl'中REMOTE_DB.tb_test表,sql語句以下所示:object
select * from REMOTE_DB.tb_test@DBLINK_OUT;select
DBLINK其餘相關的知識:sql語句
一、查看全部的數據庫連接,登陸管理員查看數據
select owner,object_name from dba_objects where object_type='DATABASE LINK';
2.刪除數據庫鏈接
drop database link DBLINK_OUT;