Oracle資料庫鏈路

2021-10-04 05:52:12 字數 2611 閱讀 1376

三、dblink的使用

四、刪除dblink

五、應用經驗

資料庫鏈路(database link),簡稱dblink,它是乙個通道,是本地資料庫與遠端資料庫之間的通道,通過dblink,在本地資料庫中可以直接訪問遠端資料庫的物件。

dblink不是應用程式與資料庫之間的通道,而是資料庫之間的通道。

用dba許可權登入資料庫,授於使用者create database link和create public database link許可權。

語法:

grant create database link to 使用者名稱;

grant create public database link to 使用者名稱;

示例:

語法:

create [

public

] database link 資料庫鏈路名稱

connect to 使用者名稱

identified by 密碼

using

'遠端資料庫引數'

;

說明:

public:dblink的型別,預設是當前使用者私有的,只有當前使用者可以使用該dblink,如果加上public選項,表示公用dblink,所有的資料庫使用者都可以使用。

資料庫鏈路名稱:給dblink起個名字。

使用者名稱:遠端資料庫登入的使用者名稱。

密碼:遠端資料庫登入的使用者的密碼。

遠端資料庫引數:該引數的配置有兩種方法:1)遠端資料庫的服務名,也就是本地資料庫伺服器上$oracle_home/network/admin/tnsnames.ora中配置的資料庫服務名;2)不採用tnsnames.ora中的配置,直接指定遠端資料庫的引數。

1)配置遠端資料庫服務名

遠端資料庫服務名在$oracle_home/network/admin/tnsnames.ora檔案中配置,內容如下:

snorcl11g_198 =

(description =

(address_list =

(address =

(protocol = tcp)

(host =

118.89

.50.198

)(port =

1521))

)(connect_data =

(sid = snorcl11g)

(server = dedicated)

))

2)測試遠端資料庫登入引數

3)建立dblink

用遠端資料庫服務名建立dblink,例如:

create database link dblink_01 connect to shqx identified by pwdidc using

'snorcl11g_198'

;

4)測試dblink

通過dblink獲取遠端資料庫的時間。

如果不用資料庫服務建立dblink,就不需要配置tnsnames.ora檔案。

示例:

create database link dblink_02 connect to shqx identified by pwdidc using

'(description =

(address_list =

(address =

(protocol = tcp)

(host =

118.89

.50.198

)(port =

1521))

)(connect_data =

(sid = snorcl11g)

(server = dedicated)

))';

dblink_01和dblink_02完全一樣。

如果要訪問遠端資料庫的表或檢視,在表和檢視名之後附加@dblinkname就可以了。

訪問遠端資料庫的dual表:

select sysdate from dual@dblink_01;
訪問遠端資料庫的scott.emp表:

select * from scott.emp@dblink_02;
刪除當前使用者私有的dblink:

drop database link 資料庫鏈路名;
刪除公用的dblink:

drop public database link 公用資料庫鏈路名;
dblink的知識很容易掌握,用dblink訪問遠端資料庫的物件很方便,但是,如果在程式中採用dblink對遠端資料庫的表進行增、刪、改、查操作時一定要遵守乙個原則:盡可能不要產生遠端事務,因為資料庫對遠端的事務難以控制,也就是說,盡可能不要對遠端資料庫的表進行增、刪、改操作,查詢是沒有問題的。

Oracle資料庫鏈路

三 dblink的使用 四 刪除dblink 五 應用經驗 資料庫鏈路 database link 簡稱dblink,它是乙個通道,是本地資料庫與遠端資料庫之間的通道,通過dblink,在本地資料庫中可以直接訪問遠端資料庫的物件。dblink不是應用程式與資料庫之間的通道,而是資料庫之間的通道。用d...

建立oracle資料庫鏈路 dbLink

建立資料庫鏈路 說明 建立資料庫鏈路,可以實現兩個不同的資料庫之間的控制訪問。以下用簡單的例子說明一下建立資料庫鏈路的步驟 一 實現功能 主要是實現兩台不同機器的兩個不同應用的資料交流。假設均使用oracle資料庫,a應用開放兩個資料表,b應用開放兩個檢視。要實現a資料庫可以訪問b應用的兩個檢視的資...

Oracle資料庫鏈Database links

oracle資料庫鏈database links的作用 在乙個使用者下,可以獲取到另外的使用者下的表的資料。使用的時機 跨資料庫或者跨使用者使用時。步驟 建立好oracle的服務 客戶端連線伺服器端的配置資訊 建立資料庫的鏈database links。create database link yb...