DB2 SQL远程复制部署方案(3)
上一篇 / 下一篇 2008-02-18 10:23:36 / 个人分类:DB2
5.相关控制表
5.1 CAPTURE控制表简单说明
颜色加深的表,是我们需要重点关注的表。
ASN.IBMSNAP_CAPSCHEMAS
模式表保存所有Capture模式的名称
IBMSNAP_AUTHTKN(OS/400)
IBMSNAP_CAPENQ(UNIX、Windows和z/OS)
IBMSNAP_CAPMON
IBMSNAP_CAPPARMS
IBMSNAP_CAPTRACE(仅DB2)
CCD_table
CD_table
记录对复制源所作的所有已落实更改
IBMSNAP_PRUNCNTL
修剪控制表包含有关为此Capture模式定义的所有预订集成员的详细信息
IBMSNAP_PRUNE_LOCK
修剪锁定表用于在进行冷启动或保留限制修剪期间使对CD表的存取串行化
IBMSNAP_PRUNE_SET
修剪设置表跟踪Capture程序和Apply程序处理每个预订集的进度,以帮助协调CD表和UOW表的修剪
IBMSNAP_REG_EXT(OS/400)
IBMSNAP_REGISTER
注册表包含有关复制源的信息,例如,复制源表的名称、它们的属性以及与它们相关联的CD表和CCD表的名称
IBMSNAP_REG_SYNCH(非DB2关系)
IBMSNAP_RESTART
IBMSNAP_SEQTABLE(Informix)
IBMSNAP_SIGNAL
IBMSNAP_UOW
作单元(UOW)表提供关于已落实至源表的事务的附加信息
IBMSNAP_PARTITIONINFO
5.2 APPLY控制表简单说明
颜色加深的表,是我们需要重点关注的表
ASN.IBMSNAP_APPENQ
Apply排队表可用来确保每个Apply限定符只有一个Apply程序正在运行
ASN.IBMSNAP_APPLY_JOB(OS/400)
ASN.IBMSNAP_APPLYTRACE
ASN.IBMSNAP_APPLYTRAIL
ASN.IBMSNAP_SUBS_COLS
ASN.IBMSNAP_SUBS_EVENT
ASN.IBMSNAP_SUBS_MEMBR
预订成员表包含有关为预订集定义的个别源和目标表对的信息
ASN.IBMSNAP_SUBS_SET
预订集表列示在Apply控制服务器上定义的所有预订集并说明这些预订集的复制进度
ASN.IBMSNAP_SUBS_STMTS
ASN.IBMSNAP_APPPARMS
5.3 CD表简单说明
每个要复制的表对应创建一个变化表,保存变动后的数据。
CAPTURE程序周期性捕捉日志,”翻译”后生成数据,暂存到CD表;
APPLY程序周期性读取CD表并应用到目标表上;
然后由CAPTURE的修剪线程删除已经应用过的数据;
这个是SQL复制的基本工作原理。
5.4模式与表空间
CAPTURE控制表、APPLY控制表,使用ASN模式;
CD表使用CD模式,目前标准配置需要复制60个表;
另外在数据库根目录下创建3个表空间:
TSASNCA 控制表空间;
TSCDUSERS 4K CD表空间;
TSCDFLTRUL 8KCD表空间
这样对原有数据库结构基本没有影响;对备份、恢复也没有任何不良影响;
6.关键技术与代码
整个复制的全过程都可以在复制中心以图形化界面完成,也可以用命令行方式操作。
考虑到执行效率与可控性、灵活性等因素,决定采用命令行方式以批处理脚本的形式进行。
同时,命令行提供了很多参数,使得我们可以更加灵活的运行程序;根据需要,还可以作成任务自动执行,同时显示运行状态;这些是图形化界面下无法做到的。
DB2提供了ASNCLP、ASNCCMD、ASNAPPLY等3个主要的程序和其它一系列辅助程序来完成相关工作;而且图形化界面最终也是调用这些程序完成复制。
6.1创建控制表
set server capture to db SMFW id USER password PASS ;设置CAPTURE服务器
set server control to db SMFW id USER password PASS ;设置APPLY服务器
SET CAPTURE SCHEMA SOURCE ASN; 设置工作模式
create control tables for capture server; 创建CAPTURE控制表;
create control tables for apply control server; 创建APPLY控制表;
6.2注册源表
set server capture to db SMFW id USER password PASS ;设置CAPTURE服务器
create registration (dxfhq.AUTOHELP) ; ;注册源表
6.3注册预定集
set server control to db SMFW id USER password PASS设置APPLY服务器
create subscription set setname S001 applyqual A001 timing interval 5;创建预定集