分类:
2008-04-13 00:23:13
来源:51cto |
步骤4:为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 子句将导致目标表只包含三行,而不是包含所有九行.
10.在“成员属性”窗口的“目标表表空间”页中,指定有关新的 TSTGDEPTCOPY 表空间的以下信息:
o 在 表空间的规范 区域中,单击 容器名 字段以指定 TSTGDEPTCOPY 表空间的容器名。
o 在 表空间的规范 区域中,将 大小 字段更改为 1。
o 在 表空间的规范 区域中,将 单位 字段更改为 MB。
o 指定此新表空间的其它信息;例如,将缓冲池设置为 IBMDEFAULTBP。
还可以指定此新表空间的其它信息;例如,将缓冲池设置为 IBMDEFAULTBP。
11.单击 确定 以关闭“成员属性”窗口。对于此方案,不需要对 目标装入选项 选项卡执行任何操作。
12.在“创建预订集”窗口的“调度”页中,将分钟数更改为 1,以便 Apply 程序每隔一分钟就要处理此预订集一次。使用 复制频率 区域中的 分钟数 字段上的旋钮来选择 1 分钟的时间间隔(或者在该字段中输入 1)。
保留 起始日期 、 起始时间 、 基于时间 和 使用相对定时 的缺省值。
13.在“创建预订集”窗口的“语句”页中,单击 添加 以打开“添加 SQL 语句或过程调用”窗口。使用此窗口来定义将在运行预订集时处理的 SQL 语句。在“添加 SQL 语句或过程调用”窗口中输入以下信息:
a.在 SQL 语句 字段中输入:
DELETE FROM ASN.IBMSNAP_APPLYTRAIL WHERE LASTRUN
< (CURRENT TIMESTAMP - 7 DAYS)
此语句将删除 Apply 跟踪表中 7 天之前的任何记录。
Apply 程序将执行在处理预订集之后在目标服务器中添加的 SQL 语句。SQL 语句必须在目标服务器中运行,这是因为 Apply 控制服务器与目标服务器是驻留在同一位置的,并且 Apply 跟踪表在 Apply 控制服务器中。 |