DB2 与 Microsoft SQL Server 2000 之间的 SQL 数据复制
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,以支持数据复制。这需要完成一下四个步骤。 1234下一页
创建封装器(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 提供的强大复制功能,用户可以方便的配置数据复制,并可根据用户的实际需求实现灵活的定制。这将大大方便用户,便于客户实现业务要求。