oracle数据同步技能ITeye - 众发娱乐

oracle数据同步技能ITeye

2019年02月23日15时49分31秒 | 作者: 怀梦 | 标签: 数据,技能,数据库 | 浏览: 930

转自:

 

 

依据数据库的数据同步技能大体上可分为两类:Oracle自己供给的数据同步技能和第三方厂商供给的数据同步技能。自己的同步技能有DataGuard,Streams,Advanced Replication和本年刚收买的一款叫做GoldenGate的数据同步软件。第三方厂商的数据同步技能有Quest公司的SharePlex和DSG的RealSync。下面临这些技能逐个进行介绍。

一、DataGuard数据同步技能

DataGuard是数据库自带的数据同步功用,根本原理是将日志文件从原数据库传输到方针数据库,然后在方针数据库上运用(Apply)这些日志文件,然后使方针数据库与源数据库坚持同步。DataGuard供给了三种日志传输(Redo Transport)方法,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方法的基础上,供给了三种数据保护形式,即最大功用(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其间最大保护形式和最大可用形式要求日志传输有必要用LGWR同步传输方法,最大功用形式下可用任何一种日志传输方法。

最大功用形式:这种形式是默许的数据保护形式,在不影响源数据库功用的条件下供给尽或许高的数据保护等级。在该种形式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等候日志写到方针数据库,假如网络带宽足够,该种形式可供给相似于最大可用形式的数据保护等级。

最大保护形式:在这种形式下,日志数据有必要一起写到源数据库的联机日志文件和至少一个方针库的备用日志文件(standby redo log),事务才干提交。这种形式可保证数据零丢掉,但价值是源数据库的可用性,一旦日志数据不能写到至少一个方针库的备用日志文件(standby redo log),源数据库将会被封闭。这也是现在市场上仅有的一种可保证数据零丢掉的数据同步处理方案。

最大可用形式:这种形式在不献身源数据库可用性的条件下供给了尽或许高的数据保护等级。与最大保护形式相同,日志数据需一起写到源数据库的联机日志文件和至少一个方针库的备用日志文件(standby redo log),事务才干提交,与最大保护形式不同的是,假如日志数据不能写到至少一个方针库的备用日志文件(standby redo log),源数据库不会被封闭,而是运行在最大功用形式下,待毛病处理并将推迟的日志成功运用在方针库上今后,源数据库将会主动回到最大可用形式下。

依据在方针库上日志运用(Log Apply)方法的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。

Physical Standby数据库,在这种方法下,方针库经过介质康复的方法坚持与源数据库同步,这种方法支撑任何类型的数据方针和数据类型,一些对数据库物理结构的操作如数据文件的增加,删去等也可支撑。假如需求,Physical Standby数据库能够只读方法翻开,用于报表查询、数据校验等操作,待这些操作完结后再将数据库置于日志运用形式下。

Logical Standby数据库,在这种方法下,方针库处于翻开状况,经过LogMiner发掘从源数据库传输过来的日志,构形成SQL句子,然后在方针库上履行这些SQL,使之与源数据库坚持同步。因为数据库处于翻开状况,因而能够在SQL Apply更新数据库的一起将本来在源数据库上履行的一些查询、报表等操作放到方针库上来履行,以减轻源数据库的压力,进步其功用。

DataGuard数据同步技能有以下优势:

1) Oracle数据库本身内置的功用,与每个新版别的新特性(如ASM)都彻底兼容,且不需求别的付费;

2) 装备办理较简略,不需求了解其他第三方的软件产品;

3) Physical Standby数据库支撑任何类型的数据方针和数据类型;

4) Logical Standby数据库处于翻开状况,能够在坚持数据同步的一起履行查询等操作;

5) 在最大保护形式下,可保证数据的零丢掉;

DataGuard数据同步技能的下风体现在以下几个方面:

1) 因为传输整个日志文件,因而需求较高的网络传输带宽;

2) Physical Standby数据库尽管能够只读方法翻开,然后做些查询、报表等操作,但需求中止运用日志,这将使方针库与源数据不能坚持同步,假如在此期间源数据库发作毛病,将延伸切换的时刻;

3) Logical Standby数据库不能支撑某些特定的数据方针和数据类型;

4) 不支撑一对多仿制,不支撑双向仿制,因而无法运用于信息集成的场合;

5) 只能仿制整个数据库,不能挑选某个schema或表空间进行独自仿制;

6) 不支撑异构的体系环境,需求相同的操作体系版别和数据库版别;

DataGuard技能是引荐的用于高可用灾祸康复环境的数据同步技能。

 

二、Streams数据同步技能

Streams是从版别 9i才开端具有的数据同步功用,是为进步数据库的高可用性和数据的分发和同享功用而规划的,Streams运用高档行列技能,经过用LogMiner发掘日志文件生成改动的逻辑记载,然后将这些改动运用到方针数据库上,然后完结数据库之间或一个数据库内部的数据同步。

Streams数据同步大致分如下几个进程:

1) Capture进程剖析日志,生成逻辑记载LCR,将其放入一个行列中;

2) Propagation进程将LCR发送到另一个数据库中,通常是方针数据库;

3) 在方针数据库中,Apply进程将LCR运用到方针库,完结数据的同步;

该处理进程的信息流如下图:

在简略的Streams装备中,Capture进程一般坐落源数据库,因而叫做Local Capture Process,Capture进程在剖析日志后将生成的LCR放入行列中,由Propagation进程将LCR发送到方针库中。这样做的长处是不必在网络上传送整个的日志文件,因而可进步网络传输的功率,但这一般会给源数据库带来较大的压力,影响其功用。

另一种装备是Capture进程坐落Downstream数据库中,源数据库只担任将日志文件传送(日志传输方法可为ARCH传输、LGWR同步传输和LGWR异步传输中的任何一种)到Downstream数据库中,一切的Capture操作都在Downstream数据库上完结。这种装备的长处是能够大大下降源数据库的压力,缺陷是需求传输整个日志文件,对网络带宽要求较高。

Streams数据同步技能有以下优势:

1) 可支撑一对多、多对一和双向仿制,可用于数据分发和同享,这是DataGuard所不具备的;

2) 可灵敏装备只仿制数据库中的一部分方针,如可按Table仿制、Schema仿制,表空间仿制等,并可在仿制进程中对数据进行过滤和转化,使之满意不同的需求;

3) 同DataGuard相同,是内置功用,与每个Oracle新版别的新特性(如ASM)都彻底兼容,且不需求额定付费;

4) 可用于异构的操作体系和数据库版别,但有一些约束;

5) 可支撑非Oracle数据库和数据库之间的数据同步;

6) 方针数据库处于翻开状况,能够在坚持数据同步的一起履行查询等操作,分管源数据库的压力;

Streams数据同步技能有以下缺陷:

1) 装备保护较杂乱,需求较高的技能水平;

2) 在非Downstream仿制中,对源数据库压力较大;假如运用Downstream仿制,则增加了装备的杂乱性且需求经过网络传输整个日志文件,对网络带宽要求较高;

3) 不能支撑某些特定的数据方针和数据类型;

4) 不能保证数据的零丢掉;

公司将Streams技能定坐落数据的分发和同享,尽管也可用于高可用的灾祸康复场合,但Oracle引荐运用的灾祸康复技能是DataGuard。

三、Advanced Replication数据同步技能

Advanced Replication装备办理较杂乱,且对源数据库功用影响较大,估计在今后的版别中将或许逐渐被Streams技能所替代,故不再对其做过多的介绍。

四、GoldenGate数据同步技能

GoldenGate本来是一家独立的软件厂商的产品,现该产品已被公司收买,Oracle将GoldenGate软件集成到到其“交融(Fusion)”中间件中,估计今后该产品将与Oracle数据库更严密地集成。GoldenGate能够用于多种不同的操作体系渠道(Unix、Linux、Windows)和多种不同数据库体系(如DB2、Oracle、Infomix、MySQL、Sybase等)之间的数据同步,是一款优异的数据同步及数据分发产品。

GoldenGate软件需求装置在源数据库效劳器和方针数据库效劳器上,所需的操作体系资源在10%以下。GoldenGate数据同步的根本原理是由Extract进程读取源数据库的事物日志(中是redo log),将其间的改动操作(insert、update、delete等)按事务履行的次序组合在一起,直接将其发送到方针效劳其上,或许存放到Trails文件中,然后由Data Pump进程将Trails文件传输到方针效劳其上,在方针效劳器上Collector进程接纳从源效劳器传送过来的Trails文件,最后由Replicat进程将Trails文件中的数据装载到方针数据库中,其处理进程如下图:

因为GoldenGate将数据存储到自己的一致格局的Trail文件中,因而能够将Trail文件传送到不同的操作体系,运用在不同的数据库体系上,大大增强其灵敏性。别的,因为GoldenGate只搜集必要的数据到Trail文件中,且Trail文件能够紧缩,因而大大削减经过网络传输的数据量,紧缩后传输的数据量通常是日志量的1/4或更少。

GoldenGate有以下长处:

1) 支撑异构的操作体系和数据库办理体系,便于客户在不同数据库办理体系和操作体系渠道之间的数据同步,这是其中心优势地点;

2) 跟DataGuard传输整个日志文件比较,GoldenGate传输的数据量大大下降,在没有LOB等数据方针的情况下,通常是整个日志文件1/4或更少;

3) 方针数据库处于翻开状况,且支撑一对多、多对一,双向仿制等,也能够挑选部分方针进行仿制,可满意数据分发和数据集成的需求,减轻源数据库压力;

4) 所占体系资源较少,通常在10%以下;

5) GoldenGate被Oracle公司收买后,估计对数据库的支撑方面会做的更好;

GoldenGate的下风体现在以下几个方面:

1) 需求付出额定的Liscense费用,通常是一笔不小的开销;

2) 需求在数据库软件外装置一套专门数据同步软件,增加了办理保护的杂乱程度;

3) 不能支撑某些特定的数据方针和数据类型;

4) 因为数据仿制操作独立于数据库办理体系,因而不能保证数据零丢掉。

由以上剖析可知,GoldenGate用于数据整合,数据同享和分发方面比较适宜,至于在高可用的灾祸康复环境中,假如能满意事务的RPO/RTO要求,也不失为一种抱负的数据同步处理方案。

 

五、SharePlex数据同步技能

SharePlex是Quest公司开发的用于专门用于Oracle数据库的数据同步软件,能够运行在异构的操作体系渠道上和Oracle数据库的不同版别之间。

SharePlex的数据仿制原理与GoldenGate相似,需求分别在源数据库效劳器和方针数据库效劳器上装置SharePlex软件。详细处理进程是:Capture进程剖析源数据库的日志文件,抓取所需的数据改动操作,将其存储在SharePlex自己专有的queue文件中,放入到Capture Queue,然后由Read进程对queue文件进行封装处理,将其放入到Export Queue中,由Export进程将queue文件经过网络发送到方针效劳器上,方针效劳器上的Import进程接纳这些queue文件,将其放入到Post Queue中,最后由Post进程将这些queue文件中的改动运用到方针数据库中,其处理流程如下图:

SharePlex数据同步技能的优势有:

1) 支撑异构的操作体系渠道,便于数据库办理体系的版别晋级及操作体系渠道切换;

2) 跟DataGuard传输整个日志文件比较,SharePlex传输的数据量大大下降,这点跟GoldenGate差不多;

3) 方针数据库处于翻开状况,且支撑一对多、多对一,双向仿制等装备,也能够挑选部分方针进行仿制,可满意数据分发和数据集成的需求,减轻源数据库压力,这方面也相似于GoldenGate;

4) 所占体系资源较少,通常在10%以下;

SharePlex数据同步技能的下风体现在以下几个方面:

1) 需求付出额定的Liscense费用,通常是一笔不小的开销;

2) 需求在数据库软件外装置一套专门数据同步软件,增加了办理保护的杂乱程度;

3) 因为数据仿制操作独立于数据库办理体系,因而不能保证数据零丢掉;

4) 因为是第三方的软件产品,在对某些特定的数据方针、数据类型和Oracle某些新特性如ASM的支撑方面不如数据库厂商自己的处理方案;别的,还有一种或许就是假如Oracle对自己的日志格局做些改动或加密,SharePlex将力不从心;

从上述剖析可知,SharePlex尽管专用于Oracle数据库同步,但同GoldenGate比较并无显着优势,GoldenGate对异构数据库的支撑更是SharePlex所不能比。再者,现在GoldenGate现已被Oracle公司收买,成为了Oracle的嫡派部队,这对SharePlex来说确实是一件不幸的事,关乎存亡。

除了上面介绍的这些数据同步技能外,在国内市场上用于Oracle数据同步的产品还有DSG 公司的RealSync软件,RealSync的完结原理及功用与SharePlex根本相似,也是只支撑Oracle数据库,也能够跨过不同的操作体系渠道。值得一提的是RealSync在方针数据库的数据装载方面,不是经过主键或仅有键来完结数据记载的定位,而是自己保护一个源数据库和方针数据库的数据记载的rowid mapping表,经过rowid来完结记载的定为,因而在数据装载功率方面有不小的进步。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    oracle数据同步技能ITeye

    数据,技能,数据库
  • 2
  • 3
  • 4
  • 5

    【备份】redis源码剖析ITeye

    调用,时分,个数
  • 6
  • 7

    sql2000 1433端口未翻开ITeye

    补丁,客户端,端口
  • 8

    JDBC衔接数据库众发娱乐

    数据库,句子,成果
  • 9
  • 10

    Oracle 简略运用huabian

    运用,数据库,用户