规划方案:
假定您将使用一个生成报告的应用程序。此应用程序需要存在于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表注册为复制源。