分享
 
 
 

DB2与Oracle数据库之间的远程复制

王朝oracle·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

一、背景

DB2 联合数据库是分布式数据库治理的非凡形式。在联合数据库系统中,可以通过一个 SQL 命令来发出对多个数据源的命令请求。

DB2 与非 DB2 数据库之间进行复制之前,首先需要保证非 DB2 数据源可以被 DB2 ESE Version 8 federated database访问。对于DB2 Replication Version 8 所需的联合数据库功能可以在现有发布的 DB2 ESE Version 8 和 DB2 Connect EnterPRise Edition Version 8 中提供。

"SQL复制"又称为"DB2复制",是为 DB2 开发的两种数据复制类型中的一种,它是通过 SQL 进行的复制。在这里简单提一下,DB2 复制中的另一种"Q复制"是通过 Websphere MQ 消息队列进行的。在进行 SQL 复制时,Capture 程序读取 DB2 恢复日志以获取对指定源表的更改。该程序将更改保存到传输表格中,也称作变化数据表(changed data table),Apply 程序并行读取更改并应用于目标事务,见图1。

图1:SQL复制的结构

WebSphere II 全球信息集成复制,通过不同数据库之间的复制,有效的利用了数据资源,为提高效率提供了良好的平台。

DB2 与非 DB2 数据库之间的复制需要用到 WebSphere II。本文力争通过复制实例让读者对不同数据库之间的复制有一个整体的概念。

二、动机

商业上出于很多原因使用复制,可以归纳为:

分散:把数据分散到各个位置;

整合:把其他位置的数据联合起来;

交换:与其他位置进行双向的数据交换;

灵活应用:对上面提到的方式进行一些改变或者结合。

联合 (Federated) 数据库系统的诞生,利用了现有的数据资源,把不同商业数据库软件的数据整合到一起,很大程度的提高了数据利用率。联合数据库可以用一个SQL语句对分布在不同地点的多种数据源发出请求。联合数据库系统可以把本地表和远程数据源联接起来,就像数据都在本地一样,并且可以通过对数据源进行分布请求来提高数据源处理能力,还可以通过在联合服务器处理部分分布请求来补充数据源的 SQL 限制。

联合数据库具有两个与其他应用服务器不同的特点:

联合服务器可以被配置为接收全部或接收部分针对数据源的请求。联合服务器把这些请求分散到数据源。

与其他应用服务器一样,一个联合服务器用 DRDA 通信协议(例如 SNA 和 TCP/ip)与 DB2 家族实例通信。然而,与其他应用服务器不同的是,与非 DB2 家族实例通信时用其他协议。

图2描述了联合数据库系统的设置流程

图2:联合数据库系统的设置流程

WebSphere II 包括两种包装器(Wrapper),一种为关系型包装器,负责DB2 UDB, Informix, Oracle, Microsoft SQL Server, Sybase, ODBC, OLE DB 等数据的复制。另一种为非关系型包装器,负责 Flatfile, Excel, xml 等非关系型数据的复制。

包装器定义了一个负责本地数据库与远程数据库通信的库。包装器执行很多任务,比如:它可以连接到数据源,包装器应用了数据源的标准连接API。它还可以给数据源提交请求。联合数据库系统可以操作远程联合系统的表。远程表在本地联合数据库中虚拟存在,客户应用程序可以操作这些虚拟表,但是它们真正存在于远端数据库中。每个远程虚拟数据库,把联合数据库当作数据库客户端,他们只对数据库客户端的请求有回应。因此联合数据库需要下载各种远程数据库的客户端。

一个联合系统的构造,需要一个作为联合服务器的 DB2 实例,一个作为联合数据库的数据库,一个或多个数据源,和可以存取数据库和数据源的客户(用户和应用)。假如要完成远程不同数据库之间的复制,还需要应用DB2的数据复制功能。

IBM DB2 复制(在一些平台上被称为数据传播)是一个从一个位置到另一个位置复制 DB2 和/或其他数据库厂商数据的强大的,灵活的工具。IBM的复制支持数据转换,数据连接和过滤数据。可以在不同的平台之间搬运数据,也可以把数据分散到不同的地点或从分散的地方把数据聚合到一个地方。可以在不同的系统之间交换数据。

IBM复制由四个主要部分组成:治理 (Administrator),Capture,Apply,警报监视器 (Alert Monitor)。

治理的部分主要通过复制中心的图形界面来实现。通过复制中心可以定义复制源,定义从数据源到目标数据的地图。它也用来治理和监控本地和远程的 Capture 和 Apply 进程。从图3中可以看出复制中心图形界面对其他几个部分的支持关系。

图3:复制中心的应用

在源数据服务器上运行的 Capture 程序可以获取 DB2 源数据表中的变化。DB2 的源数据服务器可以为 DB2 在 z/os, os/390 上的版本 6,7和8,也可以是 iseries 在 os/400 V5R2,或 DB2 在 Windows, Unix 系统中的版本 8。当定义数据源的时候会自动生成相应的触发器 (Triggers),可以用来捕捉数据源的变化。要复制的数据可以在 Capture 进程中通过选择列来进行过滤。被捕捉的更改信息首先存放到本地的源数据所在的数据库的表中并且当更改应用到目标数据中之后会自动删除。

当对源表进行改动时,DB2 把相关的记录写入日志。这些日志服务于数据库发现和复制。Capture 程序通过数据库自动连接并获取日志记录。每个源表都有相应的 CD (change data) 表来获取数据的变化。当定义一个复制数据源时,复制中心自动生成 CD 表。

对于 Apply 部分,捕捉的改变通过 Apply 程序应用到目标表中。Apply 程序可以在任何服务器上运行并且必须对所用到的源服务器和目标服务器都有连通性。数据可以通过列,行进行过滤,可以进行合并(例如通过视图),也可以在 Apply 过程中通过 SQL 表达式进行传送。DB2 与其他相关的数据间进行复制的时候,必须通过联合数据库系统来进行昵称的创建。在本地机器上需要安装关系型包装器和非关系型包装器。对于本例中db2<->ORACLE之间的复制,需要安装关系型包装器。见图4。

图4:进行远程复制关系图

报警监视器用来进行对Capture和Apply部分的错误监控。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有