天天看點

oracle中dblink建立的兩種方式

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

  建立dblink一般有兩種方式,不過在建立dblink之前使用者必須有建立dblink的權限。想知道有關dblink的權限,以sys使用者登入到本地資料庫:

  可以看出在資料庫中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語句如下所示

  2.建立dblink的第二種方式,是在本地資料庫tnsnames.ora檔案中沒有配置要通路的遠端資料庫

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