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

分布式Oracle的database link

編輯:Oracle數據庫基礎
 數據庫鏈接定義從一個Oracle數據庫到另一個數據庫的單行通信通道。

  建立鏈接前要先有到遠程數據庫的命名服務(連接字符串),就是tnsnames.ora中描述的那個,如'oradxp'

  先測試一下:$tnsping oradxp

  Attemping to contact(...) OK(30毫秒).

  說明對遠程數據庫oradxp可訪問。

  創建數據庫鏈接的語法為:

  CREATE PUBLIC DATABASE LINK oradxp.cug.edu.cn USING 'oradxp';

  其中 oradxp.cug.edu.cn 必須是遠程數據庫的全局名(SID),'oradxp'就是到遠程的連接字符串。遠程數據庫的全局名可以通過登陸遠程機,

  SELECT * FROM global_name;

  得到。

  現在你就可以用鏈接oradxp.cug.edu.cn訪問遠程數據庫了

  如

  SELECT * FROM [email protected];

  看看得到的是不是遠程機的全局名。

  所有SELECT 語句後面跟上鏈接名都是對遠程機的訪問。

  注意:登陸名口令就是當前登陸本機的用戶名和口令。也就是如果你用的是public鏈接,那麼在遠程就要有一個和本機相同的用戶/口令才行。如:你以aaa/aaa登錄本機,然後執行

  SELECT * FROM [email protected];

  那麼對遠程數據BBB.bbb的訪問用戶為aaa口令為aaa

  也就是在本機和遠程機上都有用戶aaa口令都為aaa才能執行成功!

  關於私有鏈接:

  CREATE DATABASE LINK oradxp.cug.edu.cn CONNECT TO system IDENTIFIED BY aaa;

  這就建立了system的私有鏈接。

  私有鏈接和public鏈接的差別就是登錄名口令的限制。也就是

  你不管用什麼用戶登錄本機,執行

  SELECT * FROM [email protected];

  訪問遠程機數據BBB.bbb的用戶和口令都為system/aaa

  建好的數據鏈接放在系統表SYS.link$表中

  通過OEM控制台的 分布-〉數據庫鏈接可以查看所有的鏈接。

  要刪除public link 可以

  drop public database link linkname;

  對於私有鏈接先以相應用戶登陸,如上述system/aaa

  然後drop database link linkname;

  當然,直接刪除SYS.link$表中的記錄一樣可行。

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