DB2数据同步方面的经验

时间:2022-06-01 14:04:22

规划方案:

假定您将使用一个生成报告的应用程序。此应用程序需要存在于SAMPLE数据库的DEPARTMENT表中的数据。您不想使用直接来自源表的数据,而想将更改复制到只能由生成报告的应用程序读取的目标表中。为了便于管理,您要将目标表与源表保存在同一机器上。也可以是已编目导本地机器的网络上的其它数据库。

数据复制方案实施步骤:

开始之前

1.首先确定在将要实施复制计划的机器上已经安装db2,已经建立实例。

2.确定您将要用户复制的源数据库和目标数据库,可以在同一台机器上,也可以是在网络上的数据库,需要编目到本地。

3.确定您对源数据库和目标数据库有存取权限。假定源数据库是sample库,目标数据库是copydb库。

4.在您的机器上建立copydb库。

规划此方案

1.复制源

您已经知道了复制源就是sample数据库中的schema.DEPARTMENT表。在设置您的环境之前,必须决定想从该表中复制哪些内容;您决定注册所有列并预订所有列。

2.复制目标

您决定想要复制目标是copydb数据库,该数据库是在开始之前中创建的。目前,该数据库中没有任何目标表;您想让复制中心根据您的规范来创建目标表。这种自动生成目标表的方法是优先可取的,原因是它可以确保正确映射至复制源。还可以使用现有的目标表,但是,本方案假定目标表不存在。

3.复制选项

出于本方案的目的,您决定将CD表、目标表和复制控制表分别存储在它们的缺省表空间中。尽管SAMPLE和COPYDB数据库存在于同一机器上,但是,它们的表空间却位于不同容器中。

为此方案规划设置环境

步骤1:为Capture程序创建控制表

Capture程序从复制控制表中读取当前的注册信息,并将它的状态存储在这些表中。将充当Capture控制服务器的任何数据库都必须包含Capture控制表。

1.打开复制中心,展开SQL复制文件夹。

2.展开定义文件夹。

3.右键单击Capture控制服务器文件夹并选择创建Capture控制表->快速。或者,可通过选择创建Capture控制表->定制来定制Capture控制表。

4.在“选择服务器”窗口中,选择SAMPLE数据库。此数据库将作为Capture控制服务器。单击确定。

5.在“创建控制表-快速-服务器信息”窗口中,选择主管用于复制和捕获对那些源的更改的源。然后,单击下一步。

6.在“创建控制表-快速-复制详细信息”窗口中,单击下一步。不需要更改此窗口中的任何信息。

7.在“创建控制表-快速-表空间”窗口中,输入TSASNCA表空间的表空间规范。例如,将缓冲池设置为IBMDEFAULTBP。对于本方案,接受缺省Capture模式-ASN。

8.在“创建控制表-快速-表空间”窗口中,输入TSASNUOW表空间的表空间规范。

9.在“创建控制表-快速-表空间”窗口中输入了这两个表空间的信息之后,单击确定。

10.单击“消息对话框”窗口上的关闭。此窗口显示生成将创建Capture控制表的SQL脚本的结果。如果产生了任何错误,这些错误就会显示在此窗口中。

11.在“立即运行或保存SQL”窗口中输入有效的用户标识和密码,并单击确定以立即运行SQL脚本。

12.在“DB2消息”窗口中应当看到一条消息指出已成功运行脚本。单击关闭。

13.展开Capture控制服务器文件夹。SAMPLE数据库应当显示在该文件夹中。

步骤2:为复制启用数据库

Capture程序读取DB2日志,以获取包括对注册的表的更改的日志记录。日志必须是归档日志,以便在Capture程序可以读取日志之前,DB2将不会再使用日志文件。对于UNIX(R)和Windows环境,DB2缺省值是循环日志记录,因此,必须将此设置更改为归档日志记录。

步骤3:注册复制源

在创建了Capture控制表并为复制启用了数据库之后,将DEPARTMENT表注册为复制源。