Oracle 建立 DBLink 的方法

來源:互聯網
上載者:User

1、如果需要建立全域 DBLink,則需要先確定使用者有建立 dblink 的許可權:

  1. select * from user_sys_privs where privilege like upper('%DATABASE LINK%');  

如果沒有,則需要使用 sysdba 角色給使用者賦權:

  1. grant create public database link to dbusername;  

2、使用該使用者登入 PL/SQL,使用命令:

  1. -- 第一種方法:要求資料庫伺服器 A 上 tnsnames.ora 中有 資料庫 B 的映射  
  2. -- -- create database link 資料庫連結名 connect to 使用者名稱 identified by 密碼 using '本地配置的資料的執行個體名';  

採用圖形配置介面則如下所示:

 

  1. -- 第二種方法:直接配置  
  2. -- 如果建立全域 dblink,必須使用 systm 或 sys 使用者,在 database 前加 public。  
  3. create /* public */ database link dblink1  
  4.   connect to dbusername identified by dbpassword  
  5.   using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';  
  6.   
  7. -- 資料庫參數 global_name=true 時要求資料庫連結名稱跟遠端資料庫名稱一樣。資料庫全域名稱可以用以下命令查出  
  8. -- select * from global_name;  

3、查詢資料:

  1. -- 查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成“表名@dblink伺服器”而已。  
  2. select xxx FROM 表名@資料庫連結名;  

4、刪除 DBLink

  1. drop /* public */ database link dblink1;  

5、建立和刪除同義字

  1. create or replace synonym 同義字名 for 表名;  
  2. create or replace synonym 同義字名 for 使用者.表名;  
  3. create or replace synonym 同義字名 for 表名@資料庫連結名;  
  4. drop synonym 同義字名;  

6、建立和刪除視圖

  1. create or replace view 視圖名 as (select 欄位 from 使用者.表名@dblink1);  
  2. drop view 視圖名;  

7、注意:

建立 DBLink 很簡單,但是在使用中後台卻出現鎖,查看這個鎖的方法可以去 console 中看到或者查詢資料庫。每次使用dblink查詢的時候,均會與遠端資料庫建立一個串連,dblink 應該不會自動釋放這個串連,如果是大量使用 dblink 查詢,會造成 Web 專案的串連數不夠,導致系統無法正常運行,導致系統無正常運行。

相關文章

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.