兩臺(tái)不同的Oracle數(shù)據(jù)庫(kù)服務(wù)器,從一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)用戶(hù)讀取另一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器下的某個(gè)用戶(hù)的數(shù)據(jù),這個(gè)時(shí)候可以使用dbli
兩臺(tái)不同的Oracle數(shù)據(jù)庫(kù)服務(wù)器,從一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的一個(gè)用戶(hù)讀取另一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器下的某個(gè)用戶(hù)的數(shù)據(jù),這個(gè)時(shí)候可以使用dblink。
其實(shí)dblink和數(shù)據(jù)庫(kù)中的view差不多,建dblink的時(shí)候需要知道待讀取數(shù)據(jù)庫(kù)的ip地址,ssid以及數(shù)據(jù)庫(kù)用戶(hù)名和密碼。
創(chuàng)建可以采用兩種方式:
1、已經(jīng)配置本地服務(wù)
以下是引用片段:
create public database
link fwq12 connect to fzept
identified by neu using 'fjept' CREATE DATABASE LINK數(shù)據(jù)庫(kù)鏈接名CONNECT TO 用戶(hù)名 IDENTIFIED BY 密碼 USING ‘本地配置的數(shù)據(jù)的實(shí)例名’;
2、未配置本地服務(wù)
以下是引用片段:
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=數(shù)據(jù)庫(kù)的ip地址,service_name=數(shù)據(jù)庫(kù)的ssid。
其實(shí)兩種方法配置dblink是差不多的,我個(gè)人感覺(jué)還是第二種方法比較好,,這樣不受本地服務(wù)的影響。
數(shù)據(jù)庫(kù)連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義.
數(shù)據(jù)庫(kù)參數(shù)global_name=true時(shí)要求數(shù)據(jù)庫(kù)鏈接名稱(chēng)跟遠(yuǎn)端數(shù)據(jù)庫(kù)名稱(chēng)一樣
數(shù)據(jù)庫(kù)全局名稱(chēng)可以用以下命令查出
SELECT * FROM GLOBAL_NAME;
查詢(xún)遠(yuǎn)端數(shù)據(jù)庫(kù)里的表
SELECT …… FROM 表名@數(shù)據(jù)庫(kù)鏈接名;
查詢(xún)、刪除和插入數(shù)據(jù)和操作本地的數(shù)據(jù)庫(kù)是一樣的,只不過(guò)表名需要寫(xiě)成“表名@dblink服務(wù)器”而已。
附帶說(shuō)下同義詞創(chuàng)建:
CREATE SYNONYM同義詞名FOR 表名;
CREATE SYNONYM同義詞名FOR 表名@數(shù)據(jù)庫(kù)鏈接名;
刪除dblink:DROP PUBLIC DATABASE LINK linkfwq。
如果創(chuàng)建全局dblink,必須使用systm或sys用戶(hù),在database前加public。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com