级别: 中级 刘淳, 软件技术支持工程师, IBM
2007 年 7 月 30 日 本文将向读者介绍如何在 IBM DB2 和 Microsoft SQL Server 之间进行 SQL 复制。
WebSphere Replication Server 简述
WebSphere Replication Server 是 IBM 信息集成产品家族中的重要产品,它广泛应用在信息集成的多个领域中:比如跨地域数据采集和交换,企业内部数据交换平台,统一客户信息等业务视图,实现查询系统与业务系统分离,业务系统高效镜象备份,扩展商业智能应用,以及主机 AS400 的与开放平台数据交换等。
WebSphere Replication Server 能够支持两种数据复制:SQL 复制以及 Q 复制。其中,SQL 复制技术能在异构的主流关系型数据库之间进行数据复制,Q 复制结合数据日志捕获以及 WebSphere MQ 消息队列传输技术提供更高吞吐量和低延时的数据复制。以上两种复制技术都能支持多种数据同步拓扑结构,提供数据同步监控、数据一致性校验和容错机制。
DB2 与 Microsoft SQL Server 2000 之间的 SQL 数据复制
配置需求
要配置 DB2 与 Microsoft SQL Server 2000 之间的 SQL 数据复制,需要安装好以下软件产品和组件:
- DB2 数据库;
- WebSphere Replication Server;
- MS SQL Server 2000,如果数据库在其它服务器,则本机需要安装客户端。
实现步骤
第 1 步是配置 MS SQL Server。本例中选用以下配置选项:
- 配置 MS SQL Server 的身份验证方式时,选择“SQL Server 和 Windows 身份验证”。配置完成后,使用 MS SQL Server 的“查询分析器”验证用户登录成功。
- 注册 MS SQL Server 数据库为 ODBC 数据源。其中,配置“系统DSN”为实际的 MS SQL Server 服务器名称。本例中使用“WIN2K3”。
第 2 步是配置 DB2 联邦数据库。配置好 MS SQL Server 数据库之后,需要使用 WebSphere Replication Server 提供的对 MS SQL Server 数据库的联邦功能,映射需要复制的源表(存在于 MS SQL Server 数据库中)到 DB2 数据库的 Nickname,以支持数据复制。这需要完成一下四个步骤。
- 创建封装器(Wrapper):执行命令
create wrapper MSSQLODBC3,其中,MSSQLODBC3是DB2定义的对应MS SQL Server数据库的缺省封装器名称;
- 创建服务器(Server):执行命令
CREATE SERVER SSRCTEST TYPE MSSQLSERVER VERSION '2000' WRAPPER MSSQLODBC3 OPTIONS( ADD NODE 'WIN2K3', DBNAME 'ssrctest')。注:本例中使用 SSRCTEST 作为 Server Name,它应该对应于 MS SQL Server 的一个具体数据库名称;版本(VERSION)为 MS SQL Server 数据库的版本属性;OPTIONS 参数中,节点的名称应该对应于已经设置为 ODBC 数据源的 MS SQL Server 节点名;OPTIONS 参数中,DBNAME 为实际需要用联邦功能访问的数据库名称。
- 创建 User Mapping:执行下面的命令以创建需要的用户映射,
CREATE USER MAPPING FOR DB2ADMIN SERVER SSRCTEST OPTIONS ( ADD REMOTE_AUTHID 'adminstrator', ADD REMOTE_PASSWORD '*****') 。注:本例中使用 DB2 数据库管理员用户 DB2ADMIN。
- 创建 Nickname:执行命令
CREATE NICKNAME ADMINISTRATOR.TRC1 FOR SSRCTEST."dbo"."trc1";。注:本例中使用 dbo.trc1 作为复制源。
第 3 步是配置SQL数据复制。配置联邦数据库完成后,就可以开始配置实际的复制功能,这需要启动 DB2 的复制中心并执行如下的步骤。
- 创建 Capture 控制器,从DB2复制中心选择用定制方式“创建 Capture 控制表”:
图 1. 创建 Capture 控制表
在“创建 Capture 控制表”窗口中,选择“使用此 DB2 联合服务器来捕获对非 DB2 服务器的更改”选择项,并在“非 DB2 服务器”选择框中选择之前创建的联邦服务器。
图 2. 创建 Capture 控制表的过程
根据窗口中的选项选择完成后,点选“确定”创建 Capture 控制表。
- 添加 Nickname:
按照上面的描述创建好 Capture 控制表后,在复制中心窗口中即可看到该控制服务器,我们将在该 Capture 控制服务器上添加 Nickname。
图 3. 添加 Nickname
按照上图选择,在弹出窗口中配置好需要进行复制的 Nickname。
图 4. 配置好需要进行复制的 Nickname
本例中使用 ADMINISTRATOR.TRC1。
- 创建 Apply 控制器
和创建 Capture 控制表类似,在复制中心选择使用定制方式创建 Apply 控制表。
图 5. 创建 Apply 控制表
按上图选择,会弹出“创建 Apply 控制表”窗口。
图 6. 选择服务器
从窗口中选择需要创建 Apply 控制表的数据库服务器,之后按照提示操作即可。
- 创建预订集(subscription sets)
在 Apply 控制服务器中选择创建预订集,则弹出创建窗口。首先,我们需要定义 Capture 控制服务器、目标服务器、Apply 控制服务器等,如下图:
图 7. 创建预订集
在“源到目标映射”页面,完成对于数据源表和目标表的配置。
图 8. 添加源
另外,缺省的复制时间间隔为 20 分钟,如需配置,可在“时间表”页面完成。
图 9. 完成预订集的创建
本例中,配置 1 分钟为复制的时间间隔。
完成以上的操作后,DB2 和 MS SQL Server 之间的复制配置就已经完成。本例中,配置了从 MS SQL Server 到 DB2 的数据复制。要启用或者测试该复制功能,可按照如下的步骤启动相应的服务器,并监控状态和复制的工作。
第 4 步是测试 DB2 和 MS SQL Server 之间的 SQL 数据复制。
-
启动 Capture 服务器
a) 执行如下命令以启动 Capture 服务器:asncap capture_server=TESTRC2。注:也可以通过复制中心来启动 Capture 服务器。命令中的“TESTRC2”是 Capture 服务器名称,本例中使用 MS SQL Server 联邦数据库来做 Capture 服务器。
b) 检查 Capture 服务器状态,可以通过复制中心来检查 Capture 服务器的状态。
图 10. 检查 Capture 服务器状态
-
启动 Apply 服务器
a) 执行如下命令以启动 Apply 服务器:asnapply CONTROL_SERVER=TESTRC2 APPLY_QUAL=TESTRC2。注:也可以通过复制中心来启动 Apply 服务器。本例中使用 TESTRC2 来做控制服务器(CONTROL_SERVER),APPLY_QUAL 参数指配置预订集时使用的模式。
图 11. 检查 Apply 服务器状态
-
确认复制功能
向源表中插入数据,按照配置“预订集”(subscription sets)时配置的时间间隔,确认数据已经被复制到目标表中。
结论
随着 DB2 功能不断得到完善和加强,越来越多的客户选择使用 DB2 数据库来存储其关键的业务数据。为了实现组织内部关键数据的整合,需要和许多现有的数据库系统之间共享、同步数据,实现数据整合、业务分离等功能,以支持客户的业务需求。
本文描述了 DB2 数据库和 MS SQL Server 数据库之间数据复制的配置过程。从本文的描述不难看出,基于 DB2 和 WebSphere Replication Server 提供的强大复制功能,用户可以方便的配置数据复制,并可根据用户的实际需求实现灵活的定制。这将大大方便用户,便于客户实现业务要求。
参考资料 学习
获得产品和技术
- 下载
IBM 软件试用版,体验强大的 DB2®,Lotus®,Rational®,Tivoli® 和
WebSphere® 软件。
讨论
关于作者  | |  | 刘淳,软件技术支持工程师,工作于 IBM 中国技术支持中心。自 2000 年起,一直从事 Information Management 相关软件产品的技术支持工作,包括数据库,内容管理,信息集成等领域内的相关软件产品。 |
对本文的评价
|