DB2 数据复制概述(3)

上一篇 / 下一篇  2008-03-31 19:49:12 / 个人分类:技术文章

应用更新的调度

同步复制将连续的递送更新。当源数据发生改变,它将临时存储起来,继而转送到目标。只有更改已经复制到目标数据库,源数据库才进行提交。这种类型的复制也称之为实时复制。

异步复制将分阶段递送更新。当源数据发生改变,它将在事先设定的时间间隔内临时存储起来,而后再继续转送到目标。时间间隔可以用时间(秒、分、时) 度量或用指定的事件(午夜,或一天中的其它时间)来度量。如果更改没能被应用于目标数据库(例如,目标数据库或者网络停机),它们将被存储起来稍后再被应 用,应用的顺序将按照在源数据库上的发生顺序。这种复制类型提供了比同步复制更多的好处:更好的利用网络资源,更少的数据库连接,在数据到达目标数据库之 前有机会提高数据。

例子

以下操作或命令主要在DB2的控制中心或命令控制台中进行(红色部分根据具体情况调整),相关命令更详细的使用参见DB2帮助文档。

建立复制环境

先创建文件夹C:\示例以存放一些脚本文件
1.创建源数据库
DB2CREATE DB DB_S

2.将数据库日志改为归档日志Capture
DB2UPDATE DB CFG FOR DB_S USING LOGRETAIN Capture

3.根据需要调整日志大小(如果需要的话)

4.备份数据库(改为归档日志的数据库必须先备份才能对其进行操作)
DB2BACKUP DB DB_S

5.创建源表
DB2CONNECT TO DB_S USER UserName USING Password
DB2CREATE TABLE TAB_1_S (COL_1 VARCHAR(20) NOT NULL, COL_2 VARCHAR(20), PRIMARY KEY(COL_1))

6.定义复制源
在控制中心左边树型列表中数据库DB_S下选中表,右边列表列出了所有的表,用右键点击表TAB_1_S,在弹出的菜单中选 中定义为复制源—>定制,接受默认选项,点击确定,弹出现在运行还是保存窗口,接受默认的保存设置,点击确定,弹出选择系统名窗口,选择数据库所在 系统,点击确定,弹出文件浏览器,把当前目录定位到C:\示例,在路径中输入文件名tab_1_replscr.sql,点击确定。保存成功后可以用文本 编辑器查看tab_1_replscr.sql中的内容,可以发现里边主要是生成CD表,和注册复制源(通过往表 ASN.IBMSNAP_REGISTER中插入记录)的SQL语句。

7.运行复制源
用右键点击控制中心左边树型列表中数据库DB_S下的复制源,在弹出菜单中选择运行SQL文件…,弹出选择系统名窗口,选择 数据库所在系统名,确定,在弹出的文件浏览器中选择tab_1_replscr.sql后确定,如果成功,用右键进行刷新,将显示出新定义的复制源 TAB_1_S。

8.将捕捉程序与源数据库绑定(注意:必须转跳到DB2的SQLLIB\bnd目录下)
CD C:\Program Files\SQLLIB\bnd
DB2CONNECT TO DB_S USER UserName USING Password
DB2BIND @CAPTURE.LST ISOLATION UR BLOCKING ALL
DB2BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL
DB2BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL

9.创建目标数据库
DB2CREATE DB DB_T

10.定义复制预订
在控制中心左边树型列表中数据库DB_S下选中复制源,右边列表列出了所有的复制源,用右键点击复制源TAB_1_S, 在弹出的菜单中选中定义预订…,在预订名中输入TAB_1_SUB,目标服务器中选择DB_T,应用限定符中输入TAB_1_QUAL,在列表中选中创建 表。
点击高级…,弹出高级预订定义窗口,点击目标列标签页,在COL_1列中选中主关键字,切换到行数标签页,输入过滤条件COL_1 <> '00',确定返回定义复制预订窗口。
点 击SQL…,弹出SQL窗口,点击添加…,在SQL语句或调用过程中输入DELETE FROM ASN.IBMSNAP_APPLYTRAIL WHERE LASTRUN < (CURRENT TIMESTAMP - 7 DAYS),在SQLSTATE中输入02000,点击添加,以接受” row not found”错误,确定返回SQL窗口,确定返回定义复制预订窗口。该步可忽略,这里主要是演示如何在复制过程中根据需要执行一些SQL语句,此处示例的 DELETE语句主要是删除部分应用跟踪信息,已防止该表过于庞大,影响性能。
点击计时…,弹出预订计时窗口,将分钟改为1,小时改为0,确定返回定义复制预订窗口。
确 定后弹出现在运行还是保存窗口,指定存储预订控制信息的数据库为DB_T后,点击确定,弹出选择系统名窗口,选择数据库所在系统,点击确定,弹出文件浏览 器,把当前目录定位到C:\示例,在路径中输入文件名tab_1_sub.sql。保存成功后可以用文本编辑器查看tab_1_sub.sql中的内容, 可以发现里边主要是生成目标表(如果选中了创建表的话),和注册复制预订(通过往控制表中插入记录)等的SQL语句。

12.运行复制预订
用右键点击控制中心左边树型列表中数据库DB_S下的复制预订,在弹出菜单中选择运行SQL文件…,弹出选择系统名窗 口,选择数据库所在系统名,确定,在弹出的文件浏览器中选择tab_1_sub.sql后确定,如果成功,用右键进行刷新,将显示出新定义的复制预订 TAB_1_SUB。

13.将应用程序与目标数据库绑定(注意:必须转跳到DB2的SQLLIB\bnd目录下)
CD C:\Program Files\SQLLIB\bnd
DB2CONNECT TO DB_T USER UserName USING Password
DB2BIND @APPLYUR.LST ISOLATION UR BLOCKING ALL
DB2BIND @APPLYCS.LST ISOLATION CS BLOCKING ALL

14.创建密码文件
打开文件夹C:\示例,新建一个文本文件,在文件中输入以下两行(注意:用户名和密码区分大小写)
SERVER=DB_S  USER=UserName  PWD=Password
SERVER=DB_T  USER=UserName  PWD=Password
将文件保存为tab_1_qual.pwd
(命名约定:密码文件命名为应用限定符.pwd)

15.启动捕捉程序(注意:必须转跳到C:\示例目录下)
CD C:\示例
ASNCCP DB_S COLD NOPRUNE
提示:该命令中参数COLD指定的是冷启动,它会将CD表和UOW表中的内容删除,一般只有在刚建立起复制环境时使用,而如果在复制环境已经启动,但又添加新的复制源,一般指定WARM参数采用热启动。
捕 捉程序启动后,控制台不会有任何提示,但系统会自动创建一个*.ccp文件,以跟踪捕捉程序的运行(相当于日志文件),可用文本编辑其查看其内容。捕捉程 序启动后只是简单的做一些初始化工作,而不会捕捉任何更改信息,除非你启动应用程序且应用程序完成了初始化的全更新拷贝。

16.启动应用程序(注意:必须转跳到C:\示例目录下,应用限定符区分大小写)
CD C:\示例
ASNAPPLY TAB_1_QUAL DB_T
应 用程序启动后,控制台不会有任何提示,但系统会自动创建tab_1_qual.app文件,以跟踪捕捉程序的运行(相当于日志文件),可用文本编辑其查看 其内容。也可通过查看数据库DB_T中的应用跟踪表ASN.IBMSNAP_APPLYTRAIL来跟踪应用程序执行的一些信息。

测试复制环境

至此,复制环境启动结束,下面我们通过更新源表来验证复制环境是否正常运行:
1.在源表中插入记录
DB2CONNECT TO DB_S USER UserName USING Password
DB2INSERT INTO TAB_1_S ( COL_1, COL_2 ) VALUES ( '00', '00' )
DB2INSERT INTO TAB_1_S ( COL_1, COL_2 ) VALUES ( '11', '11' )
DB2INSERT INTO TAB_1_S ( COL_1, COL_2 ) VALUES ( '22', '22' )
插入成功后查看该复制源对应的CD表,会发现对源表的更改被记录了下来
2.在目标表中查看数据是否已同步更新
DB2CONNECT TO DB_T USER UserName USING Password
DB2SELECT * FROM TAB_1_S
停止捕捉、应用程序
ASNCMD DB_S STOP
ASNASTOP TAB_1_QUAL

参考资料:DB2信息中心-书籍-Replication Guide and Reference


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-07-05  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 55049
  • 日志数: 24223
  • 建立时间: 2007-12-06
  • 更新时间: 2008-06-15

RSS订阅

Open Toolbar