欢迎来到天天文库
浏览记录
ID:24418409
大小:50.00 KB
页数:4页
时间:2018-11-14
《db2与oracle数据库之间远程复制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DB2与Oracle数据库之间远程复制一、背景 DB2联合数据库是分布式数据库管理的特殊形式。在联合数据库系统中,可以通过一个SQL命令来发出对多个数据源的命令请求。DB2与非DB2数据库之间进行复制之前,首先需要保证非DB2数据源可以被DB2ESEVersion8federateddatabase访问。对于DB2ReplicationVersion8所需的联合数据库功能可以在现有发布的DB2ESEVersion8和DB2ConnectEnterpriseEditionVersion8中提供。 SQL复制又称为DB2复制,是为DB2开发的
2、两种数据复制类型中的一种,它是通过SQL进行的复制。在这里简单提一下,DB2复制中的另一种Q复制是通过Q消息队列进行的。在进行SQL复制时,Capture程序读取DB2恢复日志以获取对指定源表的更改。该程序将更改保存到传输表格中,也称作变化数据表(changeddatatable),Apply程序并行读取更改并应用于目标事务,见图1。 图1:SQL复制的结构 icrosoftSQLServer,Sybase,ODBC,OLEDB等数据的复制。另一种为非关系型包装器,负责Flatfile,Excel,XML等非关系型数据的复制。 包装器定
3、义了一个负责本地数据库与远程数据库通信的库。包装器执行很多任务,比如:它可以连接到数据源,包装器应用了数据源的标准连接API。它还可以给数据源提交请求。联合数据库系统可以操作远程联合系统的表。远程表在本地联合数据库中虚拟存在,客户应用程序可以操作这些虚拟表,但是它们真正存在于远端数据库中。每个远程虚拟数据库,把联合数据库当作数据库客户端,他们只对数据库客户端的请求有回应。因此联合数据库需要下载各种远程数据库的客户端。 一个联合系统的构造,需要一个作为联合服务器的DB2实例,一个作为联合数据库的数据库,一个或多个数据源,和可以存取数据库和数据
4、源的客户(用户和应用)。如果要完成远程不同数据库之间的复制,还需要应用DB2的数据复制功能。IBMDB2复制(在一些平台上被称为数据传播)是一个从一个位置到另一个位置复制DB2和/或其他数据库厂商数据的强大的,灵活的工具。IBM的复制支持数据转换,数据连接和过滤数据。可以在不同的平台之间搬运数据,也可以把数据分散到不同的地点或从分散的地方把数据聚合到一个地方。可以在不同的系统之间交换数据。 IBM复制由四个主要部分组成:管理(Administrator),Capture,Apply,警报监视器(AlertMonitor)。 管理的部分主要
5、通过复制中心的图形界面来实现。通过复制中心可以定义复制源,定义从数据源到目标数据的地图。它也用来管理和监控本地和远程的Capture和Apply进程。从图3中可以看出复制中心图形界面对其他几个部分的支持关系。 图3:复制中心的应用 在源数据服务器上运行的Capture程序可以获取DB2源数据表中的变化。DB2的源数据服务器可以为DB2在z/os,os/390上的版本6,7和8,也可以是iseries在os/400V5R2,或DB2在Windows,Unix系统中的版本8。当定义数据源的时候会自动生成相应的触发器(Triggers),可以用
6、来捕获数据源的变化。要复制的数据可以在Capture进程中通过选择列来进行过滤。被捕获的更改信息首先存放到本地的源数据所在的数据库的表中并且当更改应用到目标数据中之后会自动删除。 当对源表进行改动时,DB2把相关的记录写入日志。这些日志服务于数据库发现和复制。Capture程序通过数据库自动连接并获取日志记录。每个源表都有相应的CD(changedata)表来获取数据的变化。当定义一个复制数据源时,复制中心自动生成CD表。 对于Apply部分,捕获的改变通过Apply程序应用到目标表中。Apply程序可以在任何服务器上运行并且必须对所用到
7、的源服务器和目标服务器都有连通性。数据可以通过列,行进行过滤,可以进行合并(例如通过视图),也可以在Apply过程中通过SQL表达式进行传送。DB2与其他相关的数据间进行复制的时候,必须通过联合数据库系统来进行昵称的创建。在本地机器上需要安装关系型包装器和非关系型包装器。对于本例中db2ORACLE之间的复制,需要安装关系型包装器。见图4。 图4:进行远程复制关系图 报警监视器用来进行对Capture和Apply部分的错误监控。
此文档下载收益归作者所有