當用戶要跨本地數據庫,訪問另外一個數據庫表中的數據時,本地數據庫中必須創建了遠程數據庫的dblink,通過dblink本地數據庫可以像訪問本地數據庫一樣訪問遠程數據庫表中的數據。下面講介紹我之前項目中如何在本地數據庫中創建dblink.
-- Create database link
create public database link TestDblink connect to dbName identified by dbPassword using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.2.158)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
TestDblink : 表示dblink名字
dbName :表示 遠程數據庫的用戶
dbPassword:表示 遠程數據庫的密碼
HOST : 表示遠程數據庫IP
PORT : 表示遠程數據庫端口
SERVICE_NAME : 遠程數據庫的實例名
-- 查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@dblink服務器”而已。
例如:如果想在本地數據庫中通過dblink訪問遠程數據庫'orcl'中dbName.tb_test表,sql語句如下所示:
select * from db.tb_test@TestDblink;
DBLINK其他相關的知識:
1、查看所有的數據庫鏈接,登錄管理員查看
select owner,object_name from dba_objects where object_type='DATABASE LINK';
2.刪除數據庫連接
drop database link TestDblink;