1、已經配置本地服務
create public database
link fwq12 connect to fzept
identifIEd by neu using ''fjept'' CREATE DATABASE LINK數據庫鏈接名CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING ‘本地配置的數據的實例名’;
2、未配置本地服務
create database link linkfwq
connect to fzept identifIEd by neu
using ''(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = fjept)
)
)''; host=數據庫的ip地址,service_name=數據庫的ssid。
數據庫連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA裡定義.
數據庫參數global_name=true時要求數據庫鏈接名稱跟遠端數據庫名稱一樣
數據庫全局名稱可以用以下命令查出
SELECT * FROM GLOBAL_NAME;
查詢遠端數據庫裡的表
SELECT …… FROM 表名@數據庫鏈接名;
查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@dblink服務器”而已。
附帶說下同義詞創建:
CREATE SYNONYM同義詞名FOR 表名;
CREATE SYNONYM同義詞名FOR 表名@數據庫鏈接名;
刪除dblink:DROP PUBLIC DATABASE LINK linkfwq。
如果創建全局dblink,必須使用systm或sys用戶,在database前加public。