DB2_SQL_Replication笔记.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB2_SQL_Replication笔记

SQL复制架构SQL复制使用内存来从log中获取需要的数据SQL复制对空间的影响对原服务器日志空间的影响因为需要存储附属的capture信息,大概需要3倍的包含在复制中的表的日志空间一种减少日志大小的有效方法是减少表的列数考虑CD表和控制表的空间占用考虑分离文件的大小当capture需要的内存不足时(memory_limit限制)会将数据分离到文件中(每个事务创建一个文件在capture_path中)而apply中的分离文件需要能保持每次apply间隔中所有更新的数据大小。权限要求Capturedba或者sysadm权限capture_path读写权限Applyapply_path的写权限复制表的访问权限(包括CD和CCD)目标表有更新权限对所有的capture和apply控制表的访问权限读取密码文件的权限SQL复制支持分区表如果对原表进行维护,报告:添加分区、附加分区、卸载分区这些Alter操作不能被复制,你需要手工自己进行同步SQL复制的注册支持注册表(包括它的子集)和视图支持注册表中列的一个子集(必须包含主键或者唯一键)在Change Capture模式就算只复制原表中的几个列,但是capture程序依然对所有列的变动都维护到CD表中如果使用Full refresh only模式,那么不需要维护CD表,apply程序之间从原表获取数据。如果是大表使用ASNLOAD更快加载数据Capture两种方式:Capturing after-image(即修改后的结果):每次原纪录的修改都会有一条纪录在CD中Capturing before-image and after-image(修改前和修改后的值):每次原纪录的修改都会有两条纪录在CD中(典型的应用是当更新unique key时需要根据before-image的旧值去查找要修改的纪录)当注册表时可能会碰到错误碰到下列错误时会导致capture程序终止(其他错误不会导致程序终止)CD表空间FULLSQLCODE-911在一行中出现10次非预期的SQL错误发生改变注册表增加新列限制对于非db2的复制表结构的修改必须先删除表注册(也就是说需要重新配置)如果新添加的列不参与复制可以直接添加需要进行复制的添加方法:Quiesce代理的原表访问停止Capture程序(可选)如果不停止Capture程序需要使用IBMSNAP_SIGNAL设置对该表的订阅集alter subscription set …settype r activate no原表中添加表字段注册表添加字段:alter registration add db2admin.staff cols (c002 image both)目标表中添加字段为订阅集成员添加字段:alter member add cols设置订阅集有效重新启动Capture程序相关脚本见附2表差异性比较和修复比较(asntdiff)如:asntdiff db=hadrdb where=set_name = SET00 and source_table=TEST上面的操作除了生成文本的差异描述外会在hadrdb中创建asn.asntdiff用于存储详细的差异信息修复(asntrep)asntrep db=hadrdb where=set_name = SET00 and source_table=TEST内存使用和监控通过IBMSNAP_CAPMON中的CURRENT_MEMORY可以查看各时间点内存的使用情况通过IBMSNAP_CAPMON中的TRANS_SPILLED字段查看是否因为内存不足导致分裂数据到文件中附1(部署SQL复制)1.Create control tablesasnclp:SET SERVER CAPTURE TO DB HADRDBSET OUTPUT CAPTURE SCRIPT capctrl.sqlSET LOG capctrl.errSET RUN SCRIPT LATERCREATE CONTROL TABLES FOR CAPTURE SERVER--IN UW UOW TSUOW100 OTHERS TSASN100QUIT这里会生成capctrl.sql的脚本,执行该脚本创建控制表:db2 -vtf capctrl.sql2.Setting environment variablesexport DB2INSTANCE=db2_instance_name3.Registering tablesasnclp:SET SERVER CAPTURE TO DB HADRDBSET OUTPUT CAPTURE SCRIPT register.sqlSET LOG register.errSET RUN SCRIPT LATE

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档