oracle建立database link遠端連線

來源:互聯網
上載者:User

轉自:http://hi.baidu.com/jiaju111/blog/item/86ccbf4ebb2816ccd0c86a60.html

 

資料庫之間的連結建立在DATABASE LINK上。要建立一個DB LINK,必須先
在每個資料庫伺服器上設定連結字串。
  
   1、   連結字串即服務名,首先在本地配置一個服務名,地址指向遠端資料庫地址,服務名取為將來你要使用的資料庫鏈名:
  
2、建立資料庫連結,
進入系統管理員SQL>操作符下,運行命令:
  
SQL>create public database link beijing connect to scott identified by tiger  
         using 'tobeijing';
  
則建立了一個以scott使用者和北京資料庫的連結beijing,我們查詢北京的scott資料:
  
SQL>select * from emp@beijing;  
  
這樣就可以把深圳和北京scott使用者的資料做成一個整體來處理。
  
3、建立同義字,為了使有關分布式操作更透明,ORACLE資料庫裡有同義字的對象synonym
  
SQL>create synonym bjscottemp for emp@beijing;
  
於是就可以用bjscottemp來替代帶@符號的分布式連結操作emp@beijing。
  
4、查看所有的資料庫連結,進入系統管理員SQL>操作符下,運行命令:
  
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';

剛好用到, 取消dblink
3、查看資料庫連接
sql> select owner, db_link from dba_db_links;
ower db_link
public TEST.US.ORACLE.COM

4、刪除資料庫連接
先從第三步中查看資料庫連接,取得其db_link的名稱

sql>drop public database link TEST.US.ORACLE.COM
資料庫連接巳丟棄

比如:在一個資料庫B中訪問資料庫A中的表:

1.在資料庫B中建立資料庫鏈:
CREATE PUBLIC DATABASE LINK 資料庫連結名 CONNECT TO 使用者名稱 identified by 密碼 using '串連說明'
其中,串連說明必須為如下格式:
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.10.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME=ORCL)
)
)

2.訪問連結資料庫中的對象的文法:
使用者名稱.資料庫物件@資料庫連結名

3.查看所有的資料庫連結:
select owner,object_name from dba_objects where object_type='DATABASE LINK';

4.例子:
建立一個資料庫連結:
CREATE PUBLIC DATABASE LINK DBL_ORCL CONNECT TO province identified by province_pwd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.10.201)(PORT = 1521))
)
(CONNECT_DATA =
(service_name=ORCL)
)
)';

在B庫中執行下面的語句,訪問A庫中的province.tj_ryxx 表:
select * from province.tj_ryxx@DBL_ORCL;

 

 

下面我補充一點,如果在預存程序中使用資料鏈路必須用動態sql才行,不然會報錯的。簡單動態sql如下:

 

strSql            varchar2(800); --動態sql

.......

strSql:='.....';
 
    execute immediate strSql; --執行動態sql
    commit;

 

聯繫我們

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