为此方案规划设置环境
步骤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 表注册为复制源。
注册步骤:
1.展开 SQL 复制 文件夹。
2.展开 定义 文件夹。
3.展开 Capture 控制服务器 文件夹。
4.展开 SAMPLE 数据库。
5.展开 Capture 模式 文件夹。
6.展开 ASN 模式。
7.右键单击 注册的表 文件夹并选择 注册表 。
8.在“添加可注册的表”窗口中,单击 全部检索 以列示 SAMPLE 数据库中您可以注册为复制源的所有表。选择 DEPARTMENT 表并单击 确定 。
9.在“注册表”窗口中,单击 CD 表 笔记本选项卡。指定有关 CD 表空间的下列信息:
o 在 表空间的规范 区域中,单击 容器名 字段以指定 TSCDDEPARTMENT 表空间的容器名。
o 在 表空间的规范 区域中,将 大小 字段更改为 1。
o 在 表空间的规范 区域中,将 单位 字段更改为 MB。
o 指定此新表空间的其它信息;例如,将缓冲池设置为 IBMDEFAULTBP。
在输入了表空间信息之后,单击 确定 。
10.单击“消息对话框”窗口上的 关闭 。 | 此窗口显示生成将注册源表的 SQL 脚本的结果 。如果产生了任何错误,这些错误就会显示在此窗口中。
11.单击“立即运行或保存 SQL”窗口上的 确定 以立即运行 SQL 脚本。
12.在“DB2 消息”窗口中应当看到一条消息指出已成功运行脚本。单击 关闭 。
13.SAMPLE 数据库文件夹的内容窗格中现在应当将 DEPARTMENT 表显示为注册的表。
步骤3:为Apply程序创建控制表
Apply 程序从复制控制表中读取当前的预订集信息,并将它的状态存储在这些表中。将充当 Apply 控制服务器的任何数据库都必须包含 Apply 控制表。
1.展开 SQL 复制 文件夹。
2.展开 定义 文件夹。
3.右键单击 Apply 控制服务器 文件夹并选择 创建 Apply 控制表 -> 快速 。或者,可通过选择 创建 Apply 控制表 -> 定制 来定制 Apply 控制表。
4.在“选择服务器”窗口中,选择 COPYDB 数据库。此数据库将作为 Apply 控制服务器。单击 确定 。
5.在“创建控制表 - 快速 - 服务器信息”窗口中,选择 应用已捕获的对目标表的更改 。然后,单击 下一步 。
6在“创建控制表 - 快速 - 复制详细信息”窗口中,单击 下一步 。不需要更改此窗口中的任何信息。
7.在“创建控制表 - 快速 - 表空间”窗口中,输入 TSASNAA 表空间的表空间规范。例如,将缓冲池设置为 IBMDEFAULTBP。单击 确定 。
8.单击“消息对话框”窗口上的 关闭 。此窗口显示生成将创建 Apply 控制表的 SQL 脚本的结果。如果产生了任何错误,这些错误就会显示在此窗口中。
8.在“立即运行或保存 SQL”窗口中输入有效的用户标识和密码,并单击 确定 以立即运行 SQL 脚本。
9.在“DB2 消息”窗口中应当看到一条消息指出已成功运行脚本。单击 关闭 。
10.展开 Apply 控制服务器 文件夹。COPYDB 数据库应当显示在该文件夹中。
步骤5:创建预订集和预订集成员
在注册源表之后,需要创建预订集。预订集将定义复制源数据库(在本方案中为 SAMPLE)与目标数据库(在本方案中为 COPYDB)之间的关系。预订集成员定义复制源表(在本方案中为 DEPARTMENT)与一个或多个目标表(本方案中只有一个目标表,它将称为 DEPTCOPY)之间的关系。
制定预订集和预订集成员步骤:
1.展开 SQL 复制 文件夹。
2.展开 定义 文件夹。
3.展开 Apply 控制服务器 文件夹。
4.展开 COPYDB 数据库。
A.右键单击 预订集 文件夹并选择 创建 。
还可以通过选择 SAMPLE 数据库的 注册的表 文件夹,右键单击内容窗格中的 DEPARTMENT 表并选择 创建预订集 来创建预订集。
B.在“创建预订集”窗口的“集信息”页中输入以下信息:
a. 在 预订集名称 字段中输入 DEPTSUB。此字符串标识预订集,并且,对于特定的 Apply 限定符,此字符串必须是唯一的。
b. 在 Apply 限定符 字段中输入 DEPTQUAL。此字符串标识对于将运行此预订集的 Apply 程序的实例来说是唯一的复制定义。
技巧:
Apply 限定符是区分大小写的。如果想要 Apply 限定符采用小写字符,则当您输入该限定符时必须对它进行定界;例如,"deptqual"。缺省情况下,如果您只是输入 deptqual,则复制中心将把该值转换为大写字符。
c. 对 Capture 控制服务器别名 字段单击浏览按钮。在“选择 Capture 控制服务器”窗口中,选择 SAMPLE 数据库,并单击 确定 。
d. 对 目标服务器别名 字段单击浏览按钮。在“选择目标服务器”窗口中,选择 COPYDB 数据库并单击 确定 。COPYDB 数据库既是目标服务器又是 Apply 控制服务器。
e. 选择 激活预订集 复选框。
7.在“创建预订集”窗口的“源到目标映射”页中输入以下信息:
a.单击 添加 以将已注册的源添加至预订集成员。
b.在“添加已注册的源”窗口中,单击 全部检索 以显示 SAMPLE 数据库中的所有已注册的源。
c.在“添加已注册的源”窗口中,选择 DEPARTMENT 表,并单击 确定 。
d.在“创建预订集”窗口的“源到目标映射”页中,将目标表的名称从 TGDEPARTMENT 更改为 TGDEPTCOPY:在预订集成员表的 目标名 列中选择 TGDEPARTMENT,并输入TGDEPARTCOPY以覆盖缺省名称。
e.单击 更改 以打开“成员属性”窗口。从此窗口中,可以定义预订集成员的属性。
8.在“成员属性”窗口的“目标表索引”页中:
a. 从 目标中的可用列 列表中选择 DEPTNO 列。
b. 单击移动按钮( > )来将 DEPTNO 列移至 在索引中使用的列 列表。
c. 选择 使用选择的列来创建主键 来将 DEPTNO 列用作目标表的主键。
9.在“成员属性”窗口的“行过滤”页中,在 WHERE 语句 字段中输入以下子句:
DEPTNO >=''E00''
此 WHERE 子句指示您只想复制满足某些条件的那些行;在本例中,就是只复制部门号大于或等于“E00”的那些行。此 WHERE 子句将导致目标表只包含三行,而不是包含所有九行。