為方便完成指定數(shù)據(jù)表的同步操作,可以采用dblink與merge結(jié)合的方法完成。
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的上杭網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
操作環(huán)境: 此數(shù)據(jù)庫服務(wù)器ip為192.168.196.76,有center與branch兩個庫,一般需要將center的表數(shù)據(jù)同步到branch,center為源庫,branch為目標(biāo)庫!
1.所謂的物化視圖,
2手工寫TRIGER,
3.通過ORACLE的CDC工具可以實現(xiàn)同步或者異步的表的變化。
4。關(guān)于你說的表三和表一表二之間同步,俺沒有明白。猜測是對表一表二做ETL,然后放到表三中。只對增量進行抽取和轉(zhuǎn)換。如果是這樣。通過上面的一二三步之一后。對增量進行抽取和轉(zhuǎn)換。
ETL是個比較復(fù)雜也好玩的東西。多種方式可以實現(xiàn),但是相互影響較大。容易顧此失彼。比如說管理和性能的平衡問題就是其中之一。
最好的辦法就是用DB_LINK
加物化視圖來實現(xiàn)數(shù)據(jù)同步。
當(dāng)然還有像
ORACLE
STREAM
和
GLODEN
GATE來實現(xiàn)同步,不過這兩個用在這里有點大材小用了!
背景:項目中遇到的問題,需要二區(qū)兩臺數(shù)據(jù)庫之間同步一些表,以及導(dǎo)出sql文件同步至三區(qū)數(shù)據(jù)庫。
新建SQL文件生成的目錄D:mptmsudataDNLTBDIR。
二區(qū)數(shù)據(jù)庫中執(zhí)行下列語句:
1)新建二區(qū)數(shù)據(jù)庫服務(wù)器到二區(qū)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫DATABASE LINK文件。
二區(qū)數(shù)據(jù)庫中執(zhí)行下列語句:
2)二區(qū)數(shù)據(jù)庫服務(wù)器新建表DNL_TBJL。
二區(qū)數(shù)據(jù)庫中執(zhí)行下列語句:
在二區(qū)數(shù)據(jù)庫服務(wù)器說新建相關(guān)表的觸發(fā)器,觸發(fā)器實現(xiàn)的功能是東區(qū)2區(qū)向西區(qū)直接通過DBLINK直接執(zhí)行;東區(qū)2區(qū)向東區(qū)3區(qū)通過生成SQL文件到D:mptmsudataDNLTBDIR目錄下;觸發(fā)器的每次操作都記錄到表格DNL_TBJL(id, tables,czlx, SQL, TIME, BAK)內(nèi)。
通過Windows系統(tǒng)自帶的計劃任務(wù)執(zhí)行下面批處理實現(xiàn)數(shù)據(jù)入庫
1)三區(qū)區(qū)數(shù)據(jù)庫服務(wù)器新建表DNL_SQLJL。
三區(qū)數(shù)據(jù)庫中執(zhí)行下列語句:
2)三區(qū)區(qū)數(shù)據(jù)庫服務(wù)器新建計劃任務(wù)定期執(zhí)行DQ3QRK-ZXWJ.bat批處理。
3)DQ3QRK-ZXWJ.bat批處理調(diào)用DQ3QRK-ZXSQL.bat來執(zhí)行入庫操作。
DQ3QRK-ZXWJ.bat語句如下:
DQ3QRK-ZXSQL.bat語句如下: