一、DbLink的創建
1.PLSQL圖文方式
2.SQL方式

-- Drop existing database link drop database link LINK_NC_ZS; -- Create database link create database link LINK_NC_ZS connect to ZSFNC identified by 123 using '190.75.16.11:1327/ORCL';

-- Drop existing database link drop database link LINK_NC_ZS2; -- Create database link create database link LINK_NC_ZS2 connect to ZSFNC identified by 123 using 'ZSF_NC_ZS = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 190.75.16.11)(PORT = 1327)) ) (CONNECT_DATA = (SERVICE_NAME =ORCL) ) )';
3.dblink查看

SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK'; OWNER OBJECT_NAME ------------------------------ -------------------------------------------------------------------------------- PUBLIC DBMS_CLRDBLINK PUBLIC ZSF_TEST NC1013 LINK_NC_ZS NC1013 LINK_NC_ZS2 NC1013 ZSKJ_LINK
按照權限分為public、private兩種。
二、dblink使用
1.數據查詢

select * from so_sale@link_nc_zs
2.數據插入

SQL> insert into t@dblinktest values(1); 1 row created.
三、dblink優缺點
過度使用DBLINK做系統集成會帶來很多問題,問題主要由以下幾點:
1. 大量消耗數據庫資源;
本地系統每通過DBLINK鏈接遠端系統一次,都會生成一個本地session,如本地session不退出或者手動釋放,只有通過session超時才能自動釋放,會浪費大量的系統資源
2. 容易出現數據庫BUG;
大量使用DBLINK,本地系統極易出現ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle錯誤,這種錯誤大部分會影響當前session正在處理的業務
3. 性能較差;
由於使用DBLINK,本地系統在獲取數據時,每次鏈接都會對遠端數據庫進行一次全表掃描,且所有數據都會傳輸回本地數據庫內,導致性能降低並且嚴重浪費當前系統資源。尤其出現一條sql語句從兩個DBLINK中取數,更被稱之為“性能殺手”,尤其是OLTP型數據庫
4. 數據傳輸不穩定,占用帶寬嚴重,容易產生丟包風險;
DBLINK本身沒有數據存儲、監控等功能,是通過網絡中的數據庫進行傳輸時,如果在傳輸過程中出現數據丟包現象,DBLINK本身不會發現,只用當業務進行完畢才能發現丟包現象,這樣會影響當前正在處理的業務;另外,通過DBLINK查詢的數據會像數據全部傳至本地數據庫進行操作,數據傳輸量很大,占用帶寬嚴重,可能會導致網絡堵塞
5. Oracle數據功能受限
DBLINK本身不支持對oracle LOB大對象的操作,在使用PROCDURE時,使用COMMIT等操作時可能會出現錯誤;
6. 可擴展性較差
如果多系統之間 使用DBLINK進行傳輸,每增加一個系統,都會增加一個或多個DBLINK鏈接或者修改對應的接口程序,如果修改其中一個接口,需要修改所有關聯系統內的接口程序;
7. 維護性差、安全性較低
通過DBLINK進行鏈接需要將遠端數據庫用戶名、密碼、IP地址存在本地數據庫,如遠端進行密碼修改、IP地址變更,本地數據庫也需要修改,如果系統較多,每個系統都需要同時修改。切本地數據庫管理員能夠看到遠端數據的密碼、IP地址,對系統安全產生影響。
來自 <https://www.cnblogs.com/samuelhu/p/12400543.html>