程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 有效創建Oracle dblink的兩種方式

有效創建Oracle dblink的兩種方式

編輯:Oracle數據庫基礎

兩台不同的數據庫服務器,從一台數據庫服務器的一個用戶讀取另一台數據庫服務器下的某個用戶的數據,這個時候可以使用dblink。

其實dblink和數據庫中的vIEw差不多,建dblink的時候需要知道待讀取數據庫的ip地址,ssid以及數據庫用戶名和密碼。

創建可以采用兩種方式:

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。

其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。

數據庫連接字符串可以用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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved