新聞中心
本文將為您詳細分析DB2數(shù)據(jù)庫中的數(shù)據(jù)復(fù)制技術(shù),供您參考。需要注意的是,本文將主要討論DB2之間的數(shù)據(jù)復(fù)制,而不考慮包含非IBM數(shù)據(jù)庫的數(shù)據(jù)復(fù)制。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、靖安ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的靖安網(wǎng)站制作公司
-什么是數(shù)據(jù)復(fù)制
數(shù)據(jù)復(fù)制就是通過將源數(shù)據(jù)庫中指定的數(shù)據(jù)復(fù)制到目標數(shù)據(jù)庫中,以保持源數(shù)據(jù)庫與目標數(shù)據(jù)庫中指定數(shù)據(jù)的同步(一致)。
基礎(chǔ)概念
CD表:change data tables更改數(shù)據(jù)表,用于臨時存放更改數(shù)據(jù)的表。一般包含有需要捕捉更改的列及一些控制列。
例如:用戶指定的,要捕捉更改的列
CREATE TABLE DEPARTMENT ( DEPTNO …, <-- DEPTNAME …, <-- MGRNO …, ADMRDEPT …, LOCATION …)
源表
CREATE TABLE CD20030805296530( IBMSNAP_UOWID …, IBMSNAP_INTENTSEQ…, IBMSNAP_OPERATION …, DEPTNO…, <-- DEPTNAME …) <--
CD表
DB2日志類型:
循環(huán)日志 歸檔日志:
DB2數(shù)據(jù)復(fù)制的組件
DB2 DataPropagator由三部分組成:管理界面、更改捕捉機制、應(yīng)用程序
注意:此處應(yīng)用程序(Apply program)與我們通常所說的應(yīng)用程序是不同的概念,本文中如無特殊說明,“應(yīng)用程序”都是指DB2數(shù)據(jù)復(fù)制的組件。#p#
管理界面
我們主要用它來創(chuàng)建用于存儲復(fù)制標準的控制表??刂票碛卸喾N類型,用來存放要復(fù)制哪些表哪些列等信息,我們在后面再仔細探討。我們可以使用的管理界面有兩種:
1.DB2 Control Center(DB2 控制中心)
只能針對DB2服務(wù)器之間的數(shù)據(jù)復(fù)制
2.DataJoiner Replication Administration (DJRA)
可包含非IBM數(shù)據(jù)庫的數(shù)據(jù)復(fù)制(本文不詳細討論)
具體控制表類型可通過查看文件“SQLLIB\samples\repl\dpcntl.udb”來獲得,本文涉及到的控制表主要有:ASN.IBMSNAP_REGISTER、ASN.IBMSNAP_UOW等。
更改捕捉機制
在建立復(fù)制環(huán)境之后,利用該機制去捕捉源數(shù)據(jù)庫發(fā)生的更改,且將更改臨時存放于CD表中。 DB2數(shù)據(jù)復(fù)制解決方案提供兩種捕捉數(shù)據(jù)的機制:
1.捕捉DB2源表的捕捉程序
當源是DB2表時,捕捉程序會捕捉在源上所發(fā)生的更改。捕捉程序使用數(shù)據(jù)庫日志去捕捉發(fā)生于源數(shù)據(jù)庫上的更改,并將更改臨時存儲在表里。捕捉程序運行在源服務(wù)器上。
2.捕捉非IBM數(shù)據(jù)庫源表的捕捉觸發(fā)器(本文不詳細討論)#p#
應(yīng)用程序
當捕捉程序?qū)⒃幢戆l(fā)生的更改臨時存放于CD表中后,應(yīng)用程序再從這些表中讀出源數(shù)據(jù)庫的更改,將它應(yīng)用于目標數(shù)據(jù)庫,或者直接將數(shù)據(jù)從源數(shù)據(jù)庫拷貝到目標數(shù)據(jù)庫。
1.當剛搭建起復(fù)制環(huán)境時,有一個初始化過程,該過程應(yīng)用程序?qū)⒅苯訌脑幢砘蛞晥D讀數(shù)據(jù)來初始目標表。而后如果你想復(fù)制更改,應(yīng)用程序從CD表中讀取臨時存儲的變化數(shù)據(jù),將它應(yīng)用于目標表。
2.應(yīng)用程序通常運行在目標服務(wù)器上,但它也可以運行在可以連接到源、控制和目標服務(wù)器的網(wǎng)絡(luò)上的任一服務(wù)器上。多個應(yīng)用程序?qū)嵗梢赃\行在相同或不同的服務(wù)器上。
3.每一個應(yīng)用程序與一個包含著控制表的控制服務(wù)器相關(guān)聯(lián),控制表中包含著預(yù)訂集的定義??刂票砜梢员欢鄠€應(yīng)用程序?qū)嵗褂?。比如:你有一個源服務(wù)器和兩個目標服務(wù)器,那么,你就可以將應(yīng)用程序分別運行于每一臺目標服務(wù)器上。這兩個應(yīng)用實例可以共享控制表,控制表中有特定的信息與每一應(yīng)用實例相關(guān)聯(lián)。
各復(fù)制組件之間如何通訊
各復(fù)制組件之間是相互獨立的,所以他們依賴于控制表中的信息進行通信。捕捉、應(yīng)用程序通過更新控制表以指示復(fù)制的進程及協(xié)調(diào)變化進程。
對于DB2之間的復(fù)制,捕捉程序通過讀取源服務(wù)器上的日志來捕捉源表中數(shù)據(jù)的更改。然后捕捉程序?qū)⒏牡臄?shù)據(jù)放入稱之為更改數(shù)據(jù)(CD)表的表中。
每次應(yīng)用程序拷貝數(shù)據(jù)到目標數(shù)據(jù)庫,目標數(shù)據(jù)庫的內(nèi)容將反映出在源數(shù)據(jù)庫上發(fā)生的更改。應(yīng)用程序是通過應(yīng)用自應(yīng)用程序所知道的對于目標的上一次更新以來累加的事務(wù)來實現(xiàn)的,即只應(yīng)用還沒應(yīng)用的更改。
分享名稱:DB2數(shù)據(jù)庫的數(shù)據(jù)復(fù)制詳解
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/dhpdegi.html


咨詢
建站咨詢
