Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103713605
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-13 00:22:30

     来源:51cto 

【导读】本文总结了DB2的数据同步的一些经验

规划方案

假定您将使用一个生成报告的应用程序。此应用程序需要存在于 SAMPLE 数据库的 DEPARTMENT 表中的数据。您不想使用直接来自源表的数据,而想将更改复制到只能由生成报告的应用程序读取的目标表中。为了便于管理,您要将目标表与源表保存在同一机器上。也可以是已编目导本地机器的网络上的其它数据库。

数据复制方案实施步骤

开始之前

1. 首先确定在将要实施复制计划的机器上已经安装db2,已经建立实例。

2. 确定您将要用户复制的源数据库和目标数据库,可以在同一台机器上,也可以是在网络上的数据库,需要编目到本地。

3. 确定您对源数据库和目标数据库有存取权限。假定源数据库是sample库,目标数据库是copydb库。

4. 在您的机器上建立copydb库。

规划此方案

1. 复制源

您已经知道了复制源就是 sample数据库中的 schema .DEPARTMENT 表。在设置您的环境之前,必须决定想从该表中复制哪些内容;您决定注册所有列并预订所有列。

2. 复制目标

您决定想要复制目标是 copydb数据库,该数据库是在开始之前中创建的。目前,该数据库中没有任何目标表;您想让复制中心根据您的规范来创建目标表。这种自动生成目标表的方法是优先可取的,原因是它可以确保正确映射至复制源。还可以使用现有的目标表,但是,本方案假定目标表不存在。

3. 复制选项

出于本方案的目的,您决定将 CD 表、目标表和复制控制表分别存储在它们的缺省表空间中。尽管 SAMPLE 和 COPYDB 数据库存在于同一机器上,但是,它们的表空间却位于不同容器中。

为此方案规划设置环境

步骤1:为Capture程序创建控制表

Capture 程序从复制控制表中读取当前的注册信息,并将它的状态存储在这些表中。将充当 Capture 控制服务器的任何数据库都必须包含 Capture 控制表。

1. 打开复制中心,展开 SQL 复制 文件夹。

2. 展开 定义 文件夹。

3. 右键单击 Capture 控制服务器 文件夹并选择 创建 Capture 控制表 -> 快速 。或者,可通过选择 创建 Capture 控制表 -> 定制 来定制 Capture 控制表。

4. 在“选择服务器”窗口中,选择 SAMPLE 数据库。此数据库将作为 Capture 控制服务器。单击 确定 。

5. 在“创建控制表 - 快速 - 服务器信息”窗口中,选择 主管用于复制和捕获对那些源的更改的源 。然后,单击 下一步 。

6. 在“创建控制表 - 快速 - 复制详细信息”窗口中,单击 下一步 。不需要更改此窗口中的任何信息。

7. 在“创建控制表 - 快速 - 表空间”窗口中,输入 TSASNCA 表空间的表空间规范。例如,将缓冲池设置为 IBMDEFAULTBP。对于本方案,接受缺省 Capture 模式 - ASN。

8. 在“创建控制表 - 快速 - 表空间”窗口中,输入 TSASNUOW 表空间的表空间规范。

9. 在“创建控制表 - 快速 - 表空间”窗口中输入了这两个表空间的信息之后,单击 确定 。

10. 单击“消息对话框”窗口上的 关闭 。此窗口显示生成将创建 Capture 控制表的 SQL 脚本的结果。如果产生了任何错误,这些错误就会显示在此窗口中。

11. 在“立即运行或保存 SQL”窗口中输入有效的用户标识和密码,并单击 确定 以立即运行 SQL 脚本。

12. 在“DB2 消息”窗口中应当看到一条消息指出已成功运行脚本。单击 关闭 。

13. 展开 Capture 控制服务器 文件夹。SAMPLE 数据库应当显示在该文件夹中。

步骤2:为复制启用数据库

Capture 程序读取 DB2 日志,以获取包括对注册的表的更改的日志记录。日志必须是归档日志,以便在 Capture 程序可以读取日志之前,DB2 将不会再使用日志文件。对于 UNIX(R) 和 Windows 环境,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 表显示为注册的表。

阅读(563) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~