oracle dblink建立過程

來源:互聯網
上載者:User
兩台不同的資料庫伺服器,從一台資料庫伺服器的一個使用者讀取另一台資料庫伺服器下的某個使用者的資料,這個時候可以使用dblink。
     其實dblink和資料庫中的view差不多,建dblink的時候需要知道待讀取資料庫的ip地址,ssid以及資料庫使用者名稱和密碼。
       建立可以採用兩種方式:
        1、已經配置本地服務
        create public database 
link fwq12 connect to fzept
identified by neu using 'fjept'       Create DATABASE LINK資料庫連結名CONNECT TO 使用者名稱 IDENTIFIED BY 密碼 USING ‘本地配置的資料的執行個體名’;
     2、未配置本地服務
create database link linkfwq
  connect to fzept identified by neu
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = fjept)
    )
  )';
host=資料庫的ip地址,service_name=資料庫的ssid。
       其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。

       資料庫連接字串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA裡定義.

       資料庫參數global_name=true時要求資料庫連結名稱跟遠端資料庫名稱一樣

       資料庫全域名稱可以用以下命令查出
       Select * FROM GLOBAL_NAME;

       查詢遠端資料庫裡的表
       Select …… FROM 表名@資料庫連結名;
       查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成“表名@dblink伺服器”而已。
        附帶說下同義字建立:

      Create SYNONYM同義字名FOR 表名;
     Create SYNONYM同義字名FOR 表名@資料庫連結名;

     刪除dblink:Drop  PUBLIC  DATABASE  LINK linkfwq。

      如果建立全域dblink,必須使用systm或sys使用者,在database前加public。

oracle dblink解決後台卻出現鎖
建立是很簡單,但是在使用中後台卻出現鎖,查看這個鎖的方法可以去console中看到或者查詢資料庫。其實這個鎖倒
不是最讓人心煩的,而是每次使用dblink查詢的時候,均會與遠端資料庫建立一個串連,dblink應該不會自動釋放這個串連
,如果是大量使用dblink查詢,會造成web項目的串連數不夠,導致系統無法正常運行。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.