oracle数据库:DB2和Oracle数据库的间的远程复制

="t18"> 、背景 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
DB2和Oracle数据库的间<img src='/icons/49830de.gif' />远程复制(图<img src='/icons/49830yi.gif' />)
图1:SQL复制结构
WebSphere II 全球信息集成复制通过区别数据库的间复制有效利用了数据资源为提高效率提供了良好平台 DB2 和非 DB2 数据库的间复制需要用到 WebSphere II本文力争通过复制例子让读者对区别数据库的间复制有个整体概念 2、动机 商业上出于很多原因使用复制可以归纳为: 分散:把数据分散到各个位置; 整合:把其他位置数据联合起来; 交换:和其他位置进行双向数据交换; 灵活应用:对上面提到方式进行些改变或者结合 联合 (Federated) 数据库系统诞生利用了现有数据资源把区别商业数据库软件Software数据整合到很大程度提高了数据利用率联合数据库可以用个SQL语句对分布在区别地点多种数据源发出请求联合数据库系统可以把本地表和远程数据源联接起来就像数据都在本地并且可以通过对数据源进行分布请求来提高数据源处理能力还可以通过在联合服务器处理部分分布请求来补充数据源 SQL 限制 联合数据库具有两个和其他应用服务器区别特点: 联合服务器可以被配置为接收全部或接收部分针对数据源请求联合服务器把这些请求分散到数据源 和其他应用服务器个联合服务器用 DRDA 通信协议(例如 SNA 和 TCP/IP)和 DB2 家族例子通信然而和其他应用服务器区别和非 DB2 家族例子通信时用其他协议 图2描述了联合数据库系统设置流程
DB2和Oracle数据库的间<img src='/icons/49830de.gif' />远程复制(图 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复制由 4个主要部分组成:治理 (Administrator)CaptureApply警报监视器 (Alert Monitor) 治理部分主要通过复制中心图形界面来实现通过复制中心可以定义复制源定义从数据源到目标数据地图它也用来治理和监控本地和远程 Capture 和 Apply 进程从图3中可以看出复制中心图形界面对其他几个部分支持关系
DB2和Oracle数据库的间<img src='/icons/49830de.gif' />远程复制(图 3)
图3:复制中心应用
在源数据服务器上运行 Capture 可以获取 DB2 源数据表中变化DB2 源数据服务器可以为 DB2 在 z/os, os/390 上版本 67和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
DB2和Oracle数据库的间<img src='/icons/49830de.gif' />远程复制(图 4)
图4:进行远程复制关系图
报警监视器用来进行对Capture和Apply部分监控
Tags:  oracle数据库恢复 oracle创建数据库 oracle数据库备份 oracle数据库

延伸阅读

最新评论

发表评论