日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何创建Oracle DBLink

發布時間:2024/8/26 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何创建Oracle DBLink 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩臺不同的數據庫服務器,從一臺數據庫服務器的一個用戶讀取另一臺數據庫服務器下的某個用戶的數據,這個時候可以使用dblink。其實dblink和數據庫中的view差不多,建dblink的時候需要知道待讀取數據庫的ip地址,ssid以及數據庫用戶名和密碼。
創建dblink一般有兩種方式,不過在創建dblink之前用戶必須有創建dblink的權限。想知道有關dblink的權限,以sys用戶登錄到本地數據庫:

  select * from user_sys_privs t

  where t.privilege like upper('%link%');

  1 SYS CREATE DATABASE LINK NO

  2 SYS DROP PUBLIC DATABASE LINK NO

  3 SYS CREATE PUBLIC DATABASE LINK NO

  可以看出在數據庫中dblink有三種權限CREATE DATABASE LINK(所創建的dblink只能是創建者能使用,別的用戶使用不了),CREATE PUBLIC DATABASE LINK(public表示所創建的dblink所有用戶都可以使用),DROP PUBLIC DATABASE LINK。

  在sys用戶下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK權限授予給你的用戶

  grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;

  然后以scott用戶登錄本地數據庫

創建可以采用兩種方式:
1、已經配置本地服務:
 ?? 創建dblink的第一種方式,是在本地數據庫tnsnames.ora文件中配置了要遠程訪問的數據庫。

  create public database link

  to_bylw connect to scott identified by tiger using 'bylw';

  其中to_bylw是你創建的dblink名字,bylw是遠程數據庫的實例名,scott/tiger是登錄到遠程數據庫的用戶/密碼。然后在本地數據庫中通過dblink訪問遠程數據庫'bylw'中scott.tb_test表,sql語句如下所示

  select * from scott.tb_test@to_bylw;
第一種情況tnsnames.ora文件中信息如下:

  bylw =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw)

  )

  )

2、未配置本地服務:
  創建dblink的第二種方式,是在本地數據庫tnsnames.ora文件中沒有配置要訪問的遠程數據庫,

  create database link to_test

  connect to scott identified by tiger

  using '(DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw)

  )

  )';

host=數據庫的ip地址,service_name=數據庫的sid。
  其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。
  數據庫連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義.
  數據庫參數global_name=true時要求數據庫鏈接名稱跟遠端數據庫名稱一樣
  數據庫全局名稱可以用以下命令查出
  SELECT * FROM GLOBAL_NAME;
  查詢遠端數據庫里的表
  SELECT …… FROM 表名@數據庫鏈接名;
  查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@dblink服務器”而已。

總結

以上是生活随笔為你收集整理的如何创建Oracle DBLink的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。