隨筆-193  評論-715  文章-1  trackbacks-0
          1,在目標機上建立Oracle DB Link:
          A,在network/admin/tnsname.ora文件中加入源庫的連接信息,如:
          AAA=
          ??(DESCRIPTION?
          =
          ????(ADDRESS?
          =?(PROTOCOL?=?TCP)(HOST?=?10.5.1.3)(PORT?=?1521))
          ????(CONNECT_DATA?
          =
          ??????(SERVER?
          =?DEDICATED)
          ??????(SERVICE_NAME?
          =?AAA)
          ????)
          ??)

          B,在目標機上用sqlplus user/pwd登錄。
          C,用如下命令建立DB Link:
          create?public?database?link?AAA_LINK?connect?to?user?identified?by?pwd?using?'AAA';
          命令說明:
          CREATE PUBLIC DATABASE LINK 數(shù)據(jù)庫鏈接名 CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING ‘本地配置的數(shù)據(jù)的實例名’;
          如果建立成功,會提示:Database link created.

          2,使用如下腳本,即可同步數(shù)據(jù)表:
          #!/bin/sh
          #?to?sync?table?A?to?BBB?database?from?AAA?database

          sqlplus?user/pwd@BBB?<<EOF????#這里是BBB上的數(shù)據(jù)庫和密碼還有實例名,請按照實際情況修改
          truncate?table?A;
          insert?into?A?
          select?*?from?b_schema.A@AAA_LINK;?#這里是指向要同步的來源表,表名必須是<表所有者>.<表名>@<dblink?name>
          commit;


          PS:需要DB支持Advanced replication功能,是否支持,可用如下SQL查看:
          select?*?from?v$option?where?PARAMETER='Advanced?replication';
          如果是返回True就表示支持。


          特別提示:
          本Blog所有內(nèi)容不得隨意轉(zhuǎn)載,版權(quán)屬于作者所有。如需轉(zhuǎn)載請與作者聯(lián)系(
          fastzch@163.com)。未經(jīng)許可的轉(zhuǎn)載,本人保留一切法律權(quán)益。
          posted on 2009-02-17 19:22 Robin's Programming World 閱讀(16006) 評論(15)  編輯  收藏 所屬分類: DB

          評論:
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步[未登錄] 2009-02-18 14:41 | kim
          不知道效率如何?  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-02-18 17:11 | 虎嘯龍吟
          也在關(guān)注效率問題啊  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-02-18 17:47 | Robin's Java World
          效率這事兒可以在腳本上動手腳。
          目前的腳本應(yīng)該比全部刪除然后循環(huán)著一筆筆插快些。  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-02-19 08:41 | Leo1734
          插入的時候可以改成存儲過程這樣應(yīng)該比較快一些吧!猜測……:p
          btw:LZ要是用過高級復(fù)制的話,可以介紹介紹,我多次嘗試都不成功!  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-03-19 16:38 | Robin's Java World
          @Leo1734
          這就是高級復(fù)制功能的一種用法。  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步[未登錄] 2009-03-20 10:03 | jody
          請樓主詳細分析下select * from b_schema.A()@AAA_LINK; #這里是指向要同步的來源表(只能一個表一個表的同步?且表的結(jié)構(gòu)不一樣呢?也可以?),表名必須是<表所有者>.<表名>@<dblink name>


            回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-03-20 12:37 | Robin's Java World
          @jody
          通常,表結(jié)構(gòu)要一樣,不一樣的話可用SQL語句調(diào)整成一樣。  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2009-05-07 17:08 | book
          一句話,誤人子弟  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步[未登錄] 2009-12-24 13:33 | 啊啊
          垃圾   回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2010-11-21 11:11 | qzcong
          請問樓主第二步的腳步如何使用?具體是怎么操作呢?是保存腳步?保存為什么擴展名?  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2013-09-23 22:51 | 路人甲
          一句話,誤人子弟  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2013-12-09 19:22 | 軒轅恒辰
          #!/bin/sh
          # to sync table A to BBB database from AAA database
          sqlplus user/pwd@BBB <<EOF #這里是BBB上的數(shù)據(jù)庫和密碼還有實例名,請按照實際情況修改
          truncate table A;
          insert into A
          select * from b_schema.A@AAA_LINK; #這里是指向要同步的來源表,表名必須是<表所有者>.<表名>@<dblink name>
          commit;

          這些輸進去為什么總是出錯  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步[未登錄] 2014-03-14 11:56 | aa
          服了,說別人不好的人,先拿出自己已本事看看啊。  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2014-06-18 11:36 | guodefu909
          這個是屬于全量更新,只適用于一次更新或記錄數(shù)少的情況。大表更新還是需要用增量更新  回復(fù)  更多評論
            
          # re: 利用DB Link兩步搞定Oracle兩個數(shù)據(jù)庫間的表同步 2014-06-18 11:37 | guodefu909
          準確的說不能叫表同步,只能叫表復(fù)制  回復(fù)  更多評論
            
          主站蜘蛛池模板: 正镶白旗| 安龙县| 德钦县| 兴仁县| 桂阳县| 新泰市| 杭锦旗| 平湖市| 册亨县| 栾城县| 阳西县| 永昌县| 昌图县| 连城县| 电白县| 雅江县| 洪湖市| 富宁县| 宁明县| 台前县| 上虞市| 锡林郭勒盟| 尉氏县| 蛟河市| 天峻县| 新化县| 北宁市| 游戏| 宁乡县| 青田县| 安康市| 汨罗市| 山西省| 渝北区| 历史| 磐石市| 扶余县| 嘉善县| 汶上县| 海伦市| 平度市|