
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
文章实验环境:Win2000 Server、IBM® DB2® Universal Database™ for Windows® V7.1+补丁包9。注:本文将主要讨论DB2之间的数据复制,而不考虑包含非IBM数据库的数据复制
什么是数据复制
数据复制就是通过将源数据库中指定的数据复制到目标数据库中,以保持源数据库与目标数据库中指定数据的同步(一致)。
基础概念
CD表:change data tables更改数据表,用于临时存放更改数据的表。一般包含有需要捕捉更改的列及一些控制列。
例如:用户指定的,要捕捉更改的列
|
源表
|
CD表
DB2日志类型:
循环日志 归档日志:
DB2数据复制的组件
DB2 DataPropagator由三部分组成:管理界面、更改捕捉机制、应用程序
注意:此处应用程序(Apply program)与我们通常所说的应用程序是不同的概念,本文中如无特殊说明,“应用程序”都是指DB2数据复制的组件。
管理界面
我们主要用它来创建用于存储复制标准的控制表。控制表有多种类型,用来存放要复制哪些表哪些列等信息,我们在后面再仔细探讨。我们可以使用的管理界面有两种:
1.DB2 Control Center(DB2 控制中心)
只能针对DB2服务器之间的数据复制
2.DataJoiner Replication Administration (DJRA)
可包含非IBM数据库的数据复制(本文不详细讨论)
具体控制表类型可通过查看文件“SQLLIB\samples\repl\dpcntl.udb”来获得,本文涉及到的控制表主要有:ASN.IBMSNAP_REGISTER、ASN.IBMSNAP_UOW等。
更改捕捉机制
在建立复制环境之后,利用该机制去捕捉源数据库发生的更改,且将更改临时存放于CD表中。 DB2数据复制解决方案提供两种捕捉数据的机制:
1.捕捉DB2源表的捕捉程序
当源是DB2表时,捕捉程序会捕捉在源上所发生的更改。捕捉程序使用数据库日志去捕捉发生于源数据库上的更改,并将更改临时存储在表里。捕捉程序运行在源服务器上。
2.捕捉非IBM数据库源表的捕捉触发器(本文不详细讨论)
应用程序
当捕捉程序将源表发生的更改临时存放于CD表中后,应用程序再从这些表中读出源数据库的更改,将它应用于目标数据库,或者直接将数据从源数据库拷贝到目标数据库。
1.当刚搭建起复制环境时,有一个初始化过程,该过程应用程序将直接从源表或视图读数据来初始目标表。而后如果你想复制更改,应用程序从CD表中读取临时存储的变化数据,将它应用于目标表。
2.应用程序通常运行在目标服务器上,但它也可以运行在可以连接到源、控制和目标服务器的网络上的任一服务器上。多个应用程序实例可以运行在相同或不同的服务器上。
3.每一个应用程序与一个包含着控制表的控制服务器相关联,控制表中包含着预订集的定义。控制表可以被多个应用程序实例使用。比如:你有一个源服务器和两个目标服务器,那么,你就可以将应用程序分别运行于每一台目标服务器上。这两个应用实例可以共享控制表,控制表中有特定的信息与每一应用实例相关联。