Oracle 使用DBLike進行資料庫的控資料庫讀取

來源:互聯網
上載者:User

標籤:des   http   使用   os   io   檔案   資料   for   

當使用者要跨本機資料庫,訪問另外一個資料庫表中的資料時,本機資料庫中必須建立了遠端資料庫的dblink,通過dblink本機資料庫可以像訪問本機資料庫一樣訪問遠端資料庫表中的資料。下面講介紹如何在本機資料庫中建立dblink.

  建立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 [email protected]_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)

  )

  )‘;

  第二種是把第一種配置在tnsnames.ora檔案中的資訊,直接放在建立dblink語句後面。第一種情況tnsnames.ora檔案中資訊如下:

  bylw =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = bylw)

  )

  )

在實際應用中,使用第二種方式比多,同時結合oracle的同義字進行資料庫的處理

首先建立db like:

  create  database  link db
  connect to user1 identified by user1
 
  using ‘(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.5)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = devdb)
    )
  )‘;
測試:  select * from [email protected]

建立同義字:   create public synonym a for [email protected]

測試:select * from a


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.