有效創建oracle dblink 的兩種方式

發表于:2008-02-03來源:作者:點擊數: 標簽:創建oracledblink的方式
兩臺不同的數據庫 服務器 ,從一臺數據庫服務器的一個用戶讀取另一臺數據庫服務器下的某個用戶的數據,這個時候可以使用dblink。 其實dblink和數據庫中的view差不多,建dblink的時候需要知道待讀取數據庫的ip地址,ssid以及數據庫用戶名和密碼。 創建可以采用
兩臺不同的數據庫服務器,從一臺數據庫服務器的一個用戶讀取另一臺數據庫服務器下的某個用戶的數據,這個時候可以使用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。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97