2011年1月6日 星期四

如何建立ORACLE 資料庫 DATABASE LINK?

  本地数据库SID=T2

  远程数据库SID=LIFE02

  假设你的网络设定无误

  

  1) vi local database tnsname.ora


  life02 =

  (description =

  (address = (protocol = tcp)(host = 192.168.1.1)(port = 1521))

  (connect_data = (sid = life02))

  )

  

  2)建立属于公开的(public)或者是专属的db link object


  SQL> CREATE PUBLIC DATABASE LINK MYTEST

  2 CONNECT TO APPLE IDENTIFIED BY APPLE

  3 USING 'life02'

  Database link created.

  

  3)复制远程数据库的table到本地数据库来


  SQL> COPY FROM APPLE/APPLE@LIFE02 -

  > CREATE ABC -

  > USING SELECT * FROM TEST;

  Array fetch/bind size is 15. (arraysize is 15)

  Will commit when done. (copycommit is 0)

  Maximum long size is 80. (long is 80)

  Table ABC created.

  3 rows selected from APPLE@LIFE02.

  3 rows inserted into ABC.

  3 rows committed into ABC at DEFAULT HOST connection.

  SQL> SELECT * FROM ABC;

  ID

  ----------

  100

  200

  333

  SQL>

  

  4)从本地端表格复制数据到远程数据库表格上


  SQL> COPY FROM JACK/JACK@T2 TO APPLE/APPLE@LIFE02 -

  > INSERT TEST -

  > USING SELECT * FROM T1;

  Array fetch/bind size is 15. (arraysize is 15)

  Will commit when done. (copycommit is 0)

  Maximum long size is 80. (long is 80)

  2 rows selected from JACK@T2.

  2 rows inserted into TEST.

  2 rows committed into TEST at APPLE@LIFE02.

  详细资料请参考SQL*Plus User's Guide and Reference

本文来自:Linux宝库 -- http://www.linuxpk.com/49151.html

補充:
1.編輯好 tnsnames.ora 後,可以利用 tnsping 指令來測看看.
雖然與 /etc/hosts 設定無關,但為了網管配合,最好也訂上對應的設定值.

2.db link 搭配 synonym ,可以把遠端資料庫當成LOCAL端來使用,但不建議!
有點把LOCAL資料庫當成ROUTER來用的味道.

沒有留言:

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!