基于Oracale数据库实时同步技术的研究与分析
- 格式:doc
- 大小:20.00 KB
- 文档页数:5
oracle数据库实时同步技术解决方案研究近幾年,容灾及高可用已经成为信息数据中心建设的热门课题。
本文在对oracle数据库同步技术的初步研究的基础上,根据大庆油田数据中心的实际情况,提出以goldengate和dataguard这两种技术为主的同步解决方案。
通过对两种技术的对比研究,根据不同的应用需求选择适合的技术,强调了数据实时同步作为数据库容灾的重要手段,通过实时的数据同步提供高可用的业务分离的应用环境,大大降低主库的压力,保证数据的安全性和高可用性。
标签:数据库同步;goldengate;dataguard;容灾;高可用一、数据库同步技术数据库同步是在两个以上的数据库之间进行数据交换,以使得任何一个数据库的改变,会以同样的方式出现在另一个数据库里。
数据库同步可以是单向的,也可以是双向的。
单向同步也叫主从同步。
只有主数据库的改变可以被复制到从数据库里去,从数据库是被动的。
双向同步顾名思义就是任何一端的数据变化都要同步到另一端,因为这种同步对应用的要求很高,成功的案例并不多,现实中,应用最为广泛的是单向同步。
使用数据库同步技术,用户可以将一份数据发布到多台服务器上,也可以从多台服务器到一台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。
同步技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
二、Oracle提供的数据同步方案从实现机制来分的话,Oracle的数据同步主要分为两大类:(一)运用Oracle数据库内部的机制来实现1、触发器/Job+DBLINK的方式,可同步和定时刷新。
这种方式主要用于单个数据表,数据量较小的情况。
这种方式对网络要求较高,如果两个数据库之间的网络中断,那么主库那边就会报错,而且如果表数多或数据量大的话对数据库性能影响很大,所以这种方式现在很少被采用了。
2、物化视图刷新的方式,有增量刷新和完全刷新两种模式,定时刷新。
物化视图的方式的缺点与触发器方式的缺点基本一致,所以要慎重使用。
Oracle数据库同步⽅案Oracle数据库同步⽅案1. 利⽤数据泵导出每表前2000⾏数据expdp tvpay2/tvpay directory=dmp dumpfile=20170508.dmp include=table query="'where rownum<=2000'"#导出部分表这⼏个表可能数据涉及到外键需要重新导⼊expdp tvpay2/tvpay directory=TURN_HISTORY tables={ACCOUNT_BAL_FRZ_RECORD,ACCOUNT,ACCOUNT_INFO_MODIFY_LOG} dumpfile=20170519.dmp备注:利⽤exp导⼊每表前⼏⾏有限制exp tvpay2/tvpay file=t.dmp tables=(emp,emp1) query="'where rownum<=100'"查询该⽤户下所有表SELECT object_name||',' as user_object from user_objects where object_type='TABLE';###该⽅法如果表多的话,⽐较浪费时间创建表空间和扩展表空间命令1.1创建表空间1.1.1普通创建create tablespace TS_TVPAY2_INDEX datafile '/u01/oradata/oradata1/tvpay/ts_tvpay2_index.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;create tablespace TS_TVPAY2 datafile '/u01/oradata/oradata1/tvpay/ts_tvpay2.dbf' size 500M autoextend on next 100M maxsize 20480m extent management local ;1.1.2ASM创建CREATE TABLESPACE TS_TVPAY2 DATAFILE '+DATA' SIZE 10240M REUSE AUTOEXTEND ON NEXT 2048M MAXSIZE 20480M;1.2扩展表空间ALTER TABLESPACE TS_TVPAY ADD DATAFILE '+DATA' SIZE 10240M REUSE AUTOEXTEND ON NEXT 2048M MAXSIZE 20480M;2. 查看数据泵⽬录SELECT * FROM dba_directories;OWNER DIRECTORY_NAME------------------------------ ------------------------------DIRECTORY_PATH--------------------------------------------------------------------------------SYS DMP/u01/backup/dmpSYS XMLDIR/u01/app/oracle/product/11.2.0/db_1/rdbms/xmlSYS ORACLE_OCM_CONFIG_DIR/u01/app/oracle/product/11.2.0/db_1/ccr/hosts/mt_pdb/stateOWNER DIRECTORY_NAME------------------------------ ------------------------------DIRECTORY_PATH--------------------------------------------------------------------------------SYS DATA_PUMP_DIR/u01/app/oracle/admin/sumapay/dpdump/SYS ORACLE_OCM_CONFIG_DIR2/u01/app/oracle/product/11.2.0/db_1/ccr/state3. 赋予expdp,impdp的权限grant imp_full_database,exp_full_database to tvpay2;4. 利⽤数据泵导⼊数据impdp tvpay2/tvpay directory=DATA_PUMP_DIR dumpfile=20170508.dmp ###备注directory⽬录,以及dumpfile⽆⽬录5. 参考#使⽤数据泵导⼊、导出#数据泵参数详解/jojo52013145/article/details/7966047。
OracleDataguard原理,Oracle数据实时性Oracle Dataguard原理Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。
DataGuard可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。
在生产数据库的保证"事务一致性"时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。
DataGuard数据同步技术有以下优势:1) Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费。
2)配置管理较简单,不需要熟悉其他第三方的软件产品。
3)物理Standby数据库支持任何类型的数据对象和数据类型;4)逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。
5)在最大保护模式下,可确保数据的零丢失。
一、架构Oracle DataGuard由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成。
组成Data Guard的数据库通过Oracle Net连接,并且有可以分布于不同地域。
只要各库之间可以相互通信,它们的物理位置并没有什么限制,不受操作系统的限制。
1.Primary 数据库DataGuard包含一个primary数据库即被大部分应用访问的生产数据库,该库既可以是单实例数据库,也可以是RAC。
2.Standby 数据库Standby数据库是primary数据库的复制(事务上一致)。
在同一个Data Guard中可以最多创建9个standby数据库。
一旦创建完成,Data Guard通过应用primary数据库的redo自动维护每一个standby数据库。
数据库实时同步技术解决方案一、前言随着企业的不断发展,企业信息化的不断深入,企业内部存在着各种各样的异构软、硬件平台,形成了分布式异构数据源。
当企业各应用系统间需要进行数据交流时,其效率及准确性、及时性必然受到影响。
为了便于信息资源的统一管理及综合利用,保障各业务部门的业务需求及协调工作,常常涉及到相关数据库数据实时同步处理。
基于数据库的各类应用系统层出不穷,可能涉及到包括ACCESS、SQLSERVER、ORACLE、DB2、MYSQL等数据库。
目前国内外几家大型的数据库厂商提出的异构数据库复制方案主要有:Oracle的透明网关技术,IBM的CCD表(一致变化数据表)方案,微软公司的出版者/订阅等方案。
但由于上述系统致力于解决异构数据库间复杂的交互操作,过于大而全而且费用较高,并不符合一些中小企业的实际需求。
本文结合企业的实际应用实践经验,根据不同的应用类型,给出了相应的数据库实时同步应用的具体解决方案,主要包括:(1) SQLSERVER 到SQLSERVER 同步方案(2) ORACLE 到SQLSERVER 同步方案(3) ACCESS 到SQLSERVER/ORACLE 同步方案二、异构数据库异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。
异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。
异构数据库的异构性主要体现在以下几个方面:1、计算机体系结构的异构各数据库可以分别运行在大型机、小型机、工作站、PC嵌入式系统中。
2、基础操作系统的异构各个数据库系统的基础操作系统可以是Unix、Windows NT、Linux等。
3、DMBS本身的异构可以是同为关系型数据库系统的Oracle、SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。
基于Oracale数据库实时同步技术的研究与分析作者:李旭董争鸣来源:《信息安全与技术》2014年第02期【摘要】本文首先对数据库实时同步技术的发展背景做了个简单介绍,接着着重介绍了一下Oracale数据库实时同步技术的几种常见的方法。
通过对不同方法的原理以及优缺点的介绍让你对Oracale数据库同步技术的几种主要的方法有一个详细的了解。
【关键词】 Oracale;实时同步技术;数据库To Explore the Interactive Animation Programming Based on FlashLi Xu Dong Zheng-ming(Zhejiang Police College ZhejiangHangzhou 310053)【 Abstract 】 Firstly,the paper does a simple introduction to backgrand of database synchronization technology developmenta.Then it introduces several common methods about Oracle database real time synchronization. By the principle of various methods and the advantages and disadvantages of several main methods on your Oracale database synchronization technology to have a detailed understanding of.【 Keywords 】 oracle; real time synchronization technology; databace1 前言随着信息时代的飞速发展,数据已经成为企业创造商业价值的主要生产资料之一,数据库和企业密切相关。
随着数据越来越庞大、复杂,给数据库系统用户和开发者带来不少问题。
比如当数据库中出现各种各样的硬件平台以及异构的软、硬件平台时,当企业各个应用系统之间用需要进行数据交流时,就会严重影响数据的传输的准确性、及时性以及工作效率。
这就需要数据库开发人员不断的维护程序,为满足不断增长的数据库统计分析功能,需要不停的书写繁琐的SQL语句,使得效率越来越低。
另外,数据库在网络升级、硬件升级、数据库升级上面也是费时费力,数据库对机器的要求越来越高,这就把用户带入了高成本的漩涡中。
再者,如果数据高度集中,当出现突然停电、意外死亡、或者人为破坏,都会给企业带来毁灭性的灾难。
2 数据库同步技术数据库同步技术最先出现在热备容灾领域,用以把数据实时同步到另外一个或者几个不同的地方以防止不可抗灾难的发生。
2.1 DataGuard数据同步技术Oracle DataGuard主要功能是通过创建、维护和监控一个或多个备用数据库来保护数据的安全。
Oracle DataGuard是管理、监控、和自动化软件的基础架构,是目前保护企业重要的数据资产、最有效的数据库技术。
无论是否发生灾难,它都可以使数据在24×7的基础上使用。
DataGuard提供了三种数据保护模式,即最大性能模式、最大保护模式和最大可用模式。
其中最大性能模式,它可以实现在不影响源数据库性能的情况下最大限度的保护高的数据保护等级;最大保护模式可以确保数据零丢失,但是会影响数据库的可用性;最大可用模式在不影响源数据库的可用性的条件下尽可能提高了数据保护等级。
三种保护模式特点比较如表1所示。
Oracle Data Guard数据同步技术的优势。
高效率、低负载:基于对LOG日志的改变数据选择性复制操作,使复制对于操作系统和网络的影响降到最低。
完善的数据保护:使用备用数据库,及时遇见了不可预见的灾难事件,DataGuard也可以完全保证数据的完全。
自动间隔检测以及解决方案:如果主数据库和一个或者更多个备用数据库之间的连接丢失,当重新建立连接时,DataGuard就会自动检测丢失的存档日志序列,并将必要的存档日志自动传输到备用数据库中。
灵活的选择性复制:当系统需要调用某些表时,不用把所有的数据表都复制完全,只有复制需要的表的信息,这样不仅可以减少网络带宽的成本,也可以大大减少系统的储存量。
灾难恢复和高可用性:当系统突然出现问题的时候,当网络或者系统恢复正常的时候,Oracle DataGuard可以及时有效的恢复系统数据,最大限度地保证数据的安全。
Oracle DataGuard数据同步技术的劣势。
不适用全部数据对象和数据类型:Logical Standby数据库不能支持某些特定的数据对象和数据类型。
复制方式比较单一:只能是一对一的复制方式,而且只能对数据库进行整体上复制。
不能某复制方个表或者是某些表进行复制。
系统环境必需一致:Oracle DataGuard要求一致的系统环境,不适用于异构的系统环境。
带宽要求太高:三种保护模式中的最高可用模式和最大保护模式,虽然基本保证了数据零丢失,但是会占用大量的资源,给系统带来负担。
2.2 Streams数据同步技术Streams是从Oracle消息队列技术的一种扩展应用,是为提高数据库的高可用性和数据的分发和共享功能而设计的,Streams利用高级队列技术,通过用Log Miner挖掘日志文件生成变更的逻辑记录,然后将这些变更应用到目标数据库上,从而实现数据库之间或一个数据库内部的数据同步。
Oracle公司将Streams技术定位于数据的分发和共享,虽然也可用于高可用的灾难恢复场合,但Oracle推荐使用的灾难恢复技术是Data Guard。
Streams数据同步技术的优势。
版本兼容性高:可以适用于Oracle的任何新旧版本,有着其他技术无法比拟的高度兼容性。
具有灵活性:在复制数据保持源数据库和目标数据库同步的同时,也可以进行其他操作,大大提高系统的运行效率。
复制方式多样:大多数据同步技术复制方式单一,而Streams数据同步技术的复制方式不单一,一对多、双向复制和多对一复制方式都非常支持。
复制灵活性高:可以跨平台对单独的表对象、用户、表空间或者整个数据库复制。
Streams数据同步技术的缺点。
数据不安全:一旦发生突发灾难,很容易丢失大量数据,从而无法保证数据的零丢失。
数据局限性:这个技术不能完全支持所有的数据,对于某些特定的数据对象和数据类型不能支持,所以对于数据有一定的局限性。
维护难度高:由于Streams数据同步技术维护起来有一定的难度,所以对相关技术人员的技术水平要求较高。
3.3 GoldenGate数据同步技术GoldenGate是Oracle公司在近几年相继收购的强大的产品之一,它是一款能够实时访问、基于日志变化捕捉数据,通过日志变化实现数据同步,并且在异构平台之间进行数据传输的产品。
利用这个技术,可以实现GoldenGate可以在多种不同的操作平台和不同数据库系统的数据库系统之间,完成高效率的数据同步技术。
GoldenGate数据库同步技术的优点。
占用资源少:由于系统不是复制整个日志,而是根据日志变化实现数据同步的,所以对为系统节省了大量资源。
灵活可靠:GoldenGate具有独特的异构性,支持异构的操作系统和数据库,给操作系统和数据库版本不一的用户带来很多便利,这是GoldenGate一大优势。
复制方式灵活:GoldenGate支持飞复制方式多样,像Stream一样,也适用于双向、多对一、一对多的等复制方式,用户可以根据需要选择。
性能好:GoldenGate不需要给目标数据库传输所有日志文件,只需要传输变化的日志文件,也就减低了系统的负担,节省了带宽,使得系统具有良好的性能优势。
GoldenGate的劣势体现在几个方面。
维护复杂:不能独立对系统进行维护,需要附加特点的数据库同步软件,这在一定程度上给给系统维护带来了难度。
数据安全性不高:GoldenGate也不能完全保证数据的安全,只能保证大部分数据不丢失,因此数据安全性不高。
费用支出高:和DataGuard、Stream技术不一样,GoldenGate需要支付额外的一定的费用,而且费用支出数额不小。
数据局限性:GoldenGate同样不能支出所有的数据,对于某些某些数据类型和数据对象也无能为力。
3.4 SharePlex数据库同步技术SharePlex数据库同步技术采用业界内独特的技术、领先的产品结构可以满足多样化,高性能的应用需求。
Shareplex 主要支持面向高可用性、灾难恢复、报表剥离、数据分发/共享和应用程序集成等不同的应用场景,不会对 Oracle 生产系统的性能造成影响。
SharePlex数据同步技术的优势有:快速精确和低负载,传输数据量少,灵活的复制模式,管理简捷。
SharePlex数据同步技术的劣势:需要付费,维护繁琐,数据安全性不高,具有局限性。
4 结束语通过对数据库几种主要同步技术的辨析,我们对于Oracle数据库有了深入的了解。
随着数据库规模和数目越来越庞大,数据库同步技术也越来越受关注。
数据库同步技术的发展将会大大提高企业的数据库管理工作的效率和数据安全性,让Oracle数据库用户得到最大便利。
所以做好数据库同步技术的学习和研究对于企业来说尤为重要。
参考文献[1] 李勇.基于Oracle RAC的海量数据管理系统优化设计[D].复旦大学,2012年.[2] 黎珂.采用X-Stream技术的串行数据分析仪简介[J].电信技术,2002年10期.[3] 赵中华.基于XML的异地异构数据库的数据同步技术的研究[D].山东轻工业学院,2009年.[4] 孟楠.分布式内存数据库系统设计实现与应用[D].南京理工大学,2005年.作者简介:李旭(1972-),男,浙江警察学院实验中心,讲师;主要研究方向和关注领域:数据库、信息安全。
董争鸣(1967-),男,汉族,浙江杭州人,本科,工程师;主要研究方向和关注领域:网络信息安全、数据库。