技术开发 频道

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 子句将导致目标表只包含三行,而不是包含所有九行。

0
相关文章