
SharePlex产品描述
SharePlex for Oracle可以为Oracle数据库创建和维护表级容灾副本,以用于商业智能或其它目的。有了这种开放、可以的数据副本,可以实现高可靠性和灾难恢复,消除与数据迁移相关的风险,提高OLTP系统性能,优化业务智能应用。与其他复制方案不同,SharePlex通过其位于数据库的处理流程,降低对数据库性能和网络流量的影响。
SharePlex原理
SharePlex for Oracle数据复制技术的逻辑结构图如下:
图表 11 Shareplex 逻辑结构图
SharePlex for Oracle的数据库复制过程包括以下三方面的内容:
数据捕获
SharePlex for Oracle中由捕获进程来收集发生变化的数据,此进程的独特之处在于它几乎不对生产数据库带来任何开销。
数据传输
SharePlex结合其自己的网络协议和TCP/IP协议来完成源和灾备系统之间的数据传输。其相关的进程确保数据的正确接收和网络数据包的正确顺序,从而提供网络传输冗余,确保数据的完整。整个数据传输过程无需其它的中间件。
应用数据
应用进程将传送到灾备系统中的信息转化为SQL语句,然后采用标准的SQL*Plus方式将SQL语句发送给Oracle执行。
复制模式
SharePlex支持多种灵活的复制模式,主要包括:
单向复制
单向复制以生产系统作为复制时的数据源,若目标数据库仅用于报表和查询,则该副本可能是生产数据库的一个子集,只包括报表和查询所需内容,而非源系统的所有信息。SharePlex 允许用户在目标数据库中采用不同于源数据库的数据模式,并使用专为提高查询效率而建立的索引、主键和分区等。
这种简单、高效的复制方案,可满足任何需通过剥离报表和查询来改善系统性能的需求。这种水平扩展方案可不必引入冲突解决和锁管理机制,而直接卸载生产系统压力。
双向复制
双向复制是高可用型数据复制的典型配置。这种方式能在正常工作方式下,将主数据库的数据更新复制到从属系统;一旦主系统出现故障,业务处理需要切换到从属系统时,即配置为自从属系统向主系统的逆向复制。这种配置要求目标例程处于可读写状态,并具有较高的可靠性。只需短暂的中断,业务处理即可迅速恢复,而不必进行漫长的重启和数据库恢复。
广播复制
该配置利用单个源系统,向多个目标例程复制数据。SharePlex支持通过局域网和广域网的复制。在这这种配置时,远程用户可以通过数据复制建立的副本,实现本地查询。
合并复制
在报表应用中,SharePlex 支持合并复制模式。该配置可将若干个源数据库合并到单一目标例程中,并基此建立企业报表和查询应用。
层叠复制
也称为多级复制或层次化复制,可实现源系统到目标系统,再到下级目标数据库的复制。利用SharePlex,中转系统可不再需要Oracle 数据库。这种配置能在无法直接通讯的系统间实现数据传输,并使数据分发的压力从生产系统卸载到专门为数据分发而建立的复制副本上。
SharePlex主要技术指标
Shareplex产品的主要技术指标见下表:
图表 12 Shareplex主要技术指标
| 指标 | 描述 |
| 技术原理 | 读取Oracle的日志文件,获取数据的变化信息,传输到目标系统,然后解析成SQL语句,在目标系统中执行 |
| 复制的基本单位 | 复制的基本单位为表,也可以选定表的行或列进行复制 |
| 支持的复制模式 | 单向,双向,一对多,多对一,级联复制 |
| 对DML的支持 | 支持所有DML操作 |
| 对DDL的支持 | 支持大部分的DDL操作,提供灵活的配置选项,可以设置复制或者不复制相关的DDL操作。 |
| 对集群和RAC的支持 | 支持各种集群,支持RAC |
| 目标系统支持的操作 | 目标系统支持Read-Write操作 |
| 对系统性能的影响 | 采用基于Oracle日志的复制技术,对主系统CPU占用非常小 |
| 网络资源的使用 | 和复制表的数量有关,不使用压缩功能的情况下传输量最多为日志文件的1/3,使用压缩功能后传输量仅为1、10至1/15左右。 |
| 最大距离 | 没有 |
| 对异构环境的支持 | 支持不同的存储、主机、操作系统、Oracle数据库的不同版本 |
数据容灾
数据的安全及业务的连续性是一个应用系统最基本的保证,关键业务数据的丢失或业务的中断可能会给企业带来不可估量的损失。
幸运的是,自从1997年以来,SharePlex已不断地被证明其领先的技术能够帮助企业实现这一管理目标。通过建立实时或准实时的容灾数据库,在出现数据损失时不仅可以保证关键业务数据的及时恢复,也可以确保应用程序的及时接管,将故障对应用系统的影响降到最低。
平战结合的解决方案
数据容灾系统的建立,往往需要较大的软硬件投资,而以往的解决方案中,目标系统在平时一直处于不可用状态,只有在发生灾难时才可体现出其价值,造成了资源及投资的极大浪费。SharePlex的解决方案,为用户提供了一个随时可用的容灾数据库,在充分满足容灾的前提下,也可为用户提供一个可用的查询数据库、或数据仓库的数据源,以分担生产数据库的负载,增加了容灾系统的利用价值。
数据安全的保障
采用SharePlex作为整个容灾系统的关键环节可以有效地保护企业的关键信息。当生产系统数据库出现意外故障数据丢失,且本地备份无效时,可通过容灾数据库中的数据来实现接近零数据损失的灾难恢复,确保核心业务数据的安全。此外,研究表明,大多数的数据丢失并不是系统崩溃导致的,相反,一些意外事件,如删表、数据块级的数据损坏或数据文件的丢失才是数据丢失的主要原因。而SharePlex容灾方案则可以防止这类意外的发生,为数据提供充分的保障。甚至当生产系统由于人为原因造成数据丢失的时候,也可以通过Shareplex的配置策略实现数据的恢复。
快速的容灾接管
通常的容灾技术采用等待模式,即备份系统实际上不可用。如果要确保这个容灾系统在需要的时候可用还需进行测试,而测试往往需要备份系统处于离线状态,这种测试同时也是一个开销较大的行为。如果不进行定期的测试,容灾系统的可靠性会随着时间的推移而降低。由于SharePlex的解决方案中,容灾系统的数据库一直处于打开状态,实际上相当于对容灾系统进行不间断的测试,确保容灾系统随时处于可用状态。
对于许多企业来说,灾难恢复时间的长短直接影响着公司的业绩。SharePlex支持多种配置方案,包括对等配置方案,在这种配置方案中,两个数据库都处于可用状态,因而可实现快速的失败接管,接管时间基本等于应用系统切换数据库的时间。在容灾方案中没有比这种失败接管更快的方法了。
业务连续性的保障
另外,当利用SharePlex为业务系统提供灾难恢复能力时,容灾系统中的硬件环境又可以暂时切换为生产数据库,以降低系统维护工作中的停机时间。切换回生产数据库后,数据可通过反向的数据复制链路恢复到源系统,没有任何数据损失。
报表分离/负载均衡
许多企业面临着一个充满竞争冲突的业务需求:一方面,企业需要确保在线事务处理系统具有良好的性能;另一方面,企业需要获得有效和及时的决策支持信息和企业报表。在传统的系统中这两种需求的冲突极大地降低了业务系统的性能。
利用SharePlex可以很容易地建立一个与源系统保持数据同步的目标系统,在这种配置环境下,在线事务处理可以获得很好的性能,而决策支持和报表处理可在不影响正常业务的情况下进行。通过这种独特的配置策略可以非常好地解决在线事务处理和报表处理之间的竞争问题,不管报表系统会消耗多大的系统资源,对于客户和内部员工来说,系统的响应速度不会受到丝毫的影响。SharePlex实现的报表分离/负载均衡方案具有以下特点。
目标系统的选用
SharePlex是一个基于SQL语句复制的逻辑复制软件,这就决定了它平台选择的自由性,可实现不同操作系统之间,不同数据库版本之间的数据复制。因此,用户可根据自己现有的软硬件平台来建设报表系统,无需购买昂贵的软硬件设备,大大降低了投资的成本,也可使现有资源得到充分的利用。
复制对象和复制方式
大部分报表系统并不需要生产系统的全部数据,同时有些敏感数据也需要进行保护,由于SharePlex对复制内容的选择非常灵活,可以是源系统的全部表或部分表,甚至可以根据需求,仅复制表中的部分字段,或符合特定条件的记录,这就给报表系统的建设带来了极大的灵活性,用户完全可以根据自己的需求定义数据复制的内容。
面向不同应用场景的性能优化
为报表处理和在线事务处理规划和建立数据库是一件比较困难的事情。在理想情况下,每一个数据库应有其自己的索引模式、数据分区和数据归档,而利用SharePlex则可以很容易地实现这个目标。SharePlex支持在事务处理数据库和报表数据库上分别建立不同的索引,数据可在一个数据库中集中存储和管理而在另一个数据库中进行分区管理。另外,由于事务处理数据库和报表数据库具有同步的数据,因此可以不对在线事务数据库进行归档,而只对报表数据库归档,这种管理模式既可以保证在线事务处理数据库具有最好的性能,又可保证数据始终处于可访问状态。
消除系统移植过程中的停机时间
尽管企业从规划设计良好的业务系统中收益,但也不得不面临系统移植和升级这一挑战。数据集中、技术的推陈出新和服务器的移植都是导致必须进行系统移植的原因之一。
SharePlex可确保在进行以上工作时正常的事务处理得以继续进行。源系统的功能不受到任何影响,SharePlex只捕捉移植过程中发生变化的事务并将它们排队保存。当移植工作结束后,这些被保存的事务将被应用到新系统中并进行数据同步工作。一旦数据同步后,用户活动会有非常短暂的停顿,在此瞬间将完成系统的切换动作。
异构平台的迁移及数据库升级
基于SharePlex对复制平台异构的支持,SharePlex的系统移植方案,完全可以实现跨平台的数据库迁移或数据库版本的升级。例如:用户可以平滑的实现HP 平台下 Oracle 8i 到 AIX平台下 Oracle 9i的数据库升级,没有任何。
极短的停机时间
以往的数据库迁移或升级,大部分情况下只能使用EXP/IMP的方式完成,必然造成较多的停机时间,这对现今越来越要求高可用性的7*24小时系统来说,几乎是不可接受的。SharePlex通过使用中间机,及数据变化的即时复制等技术,使停机时间从几小时甚至几天,缩短到几分钟,最大程度的满足了用户的需求。
升级失败的回滚
通常的数据库升级或迁移都存在着一定的风险,如数据库与应用程序兼容问题等,如果升级后出现未预料到的问题,或升级失败,则需要能够迅速切换到原有的系统,以保证系统的正常运行。SharePlex完成系统的升级或迁移后,可以建立一条由新系统到旧系统的复制链路,将新系统上的数据变化复制回旧系统。此时,如果新系统出现意外情况,应用不仅可以迅速的切换到原有的系统,也避免了切换过程中的数据损失,保证了系统的平稳过渡。
数据集中和数据广播
企业可能经常需要进行数据集中或广播操作从而使事业的各个部门或分公司获得最新的信息。SharePlex在设计和开发时就考虑了此种需求,利用SharePlex,企业可以在任意时间,对任意地点进行信息更新。
SharePlex通过非常有效的管理控制机制来实现数据集中和广播。SharePlex提供细化的数据筛选功能,可按业务需要定制需要传输的数据,从而缓解和消除了数据传输过程中的安全和带宽问题。例如,如果远程节点只需要有关本地员工的基本信息而无需薪水信息,那么只需利用SharePlex传输相关的数据行和字段即可。
服务器集中是系统迁移的一种形式。进行系统维护要带来开销,当服务器数量众多时系统维护开销还是很可观的。为了降低这些开销,一些企业在进行服务器集中工作,通过将系统的规模集中到为数不多的高性能服务器上可大大地提高工作效率并降低生产成本。利用SharePlex可进行数据库的集中工作,从而加速服务器的集中过程。
异构平台支持
通常,企业内部可能有多个应用系统,需要对这些系统中的数据进行集中,生成企业的管理报表。从多个不同的Oracle实例中抽取数据和产生报表是件比较耗时和费力的事情,同时,还要考虑各个数据库的版本及平台是否一致。
SharePlex可从多个不同版本或平台的数据库中抽取数据并将数据集中到一个Oracle实例中。在这种情况下,数据抽取和生成报表操作不再,而是在同一个数据库实例中进行,从而消除了极其消耗资源的数据库间的关联操作。也避免了应用程序需要同时访问多个不同版本、平台数据库的麻烦。
异地数据复制
通常的数据集中需求,往往是异地数据库的数据复制,以往的方案往往需要较高的网络配置需求,而SharePlex的复制技术决定了它对网络资源占用极少,完全可以适合各种远距离的数据复制,无须建设专用的网络,大大降低了用户在网络方面的投资。
多对一或一对多的复制
SharePlex复制链路拓扑结构的定义非常简便,仅需要再配置文件中指定不同的目标系统即可,同时,一个节点可以同时接受多个数据源的数据复制,也可同时复制到多个目标系统。用户仅需要在每台数据库主机上安装相同的产品即可,不需要而外的复杂复制,激活相应的配置文件即可实现不同拓扑结构的数据复制。
应用数据同步
随着应用系统的不断发展,分布式的应用系统也得到了普遍的发展,但建设分布式系统的同时,也必须要考虑到各个系统之间数据的同步问题。达到实时的同步效果必然要极大的牺牲系统的性能;而保证系统的性能则需要以数据的延迟为代价。SharePlex提供的数据同步解决方案,可以从根本上解决这一技术难题,在不影响系统性能的前提下,实现各个生产中心的数据接近实时的互相同步,并可根据用户的需求,配置成单向数据同步,多个数据库的层叠复制,以及多生产中心的数据双向同步。
复杂复制环境的支持
SharePlex的数据复制方向及拓扑结构完全由激活的配置文件来决定,用户可以根据实际应用的需求,自有的进行定义,没有任何,同一系统既可以作为源系统也可同时作为目标系统。这对于当前日益复杂的应用系统来说无疑是一个最佳的解决方案。
数据冲突处理机制
对于在多生产中心的双向数据同步中不可避免出现的数据冲突问题,SharePlex也提供了完整的解决方案,用户可根据实际的业务逻辑,为数据冲突建立不同的解决方案,如以主站点数据为依据,或按时间戳来处理等,配置灵活而简便。
数据仓库及决策支持系统应用
为了在当今的市场竞争中保持优势,越来越多的公司在建设强健的决策支持系统。SharePlex为数据仓库及决策支持系统提供了完整的数据抽取、转换和装载的解决方案,并具有一下特点:
抽取内容灵活定义
SharePlex对复制内容的定义非常灵活,因此用户可根据数据抽取的需要,选择复制内容,同时,当复制内容有变化时,SharePlex也可非常方便的修改复制内容。
数据的加工处理
通常情况下,数据仓库对数据的需求不仅仅是原始数据即可,往往还需要对数据进行一定程度的加工或处理。SharePlex可以通过在目标端使用存储过程的方式,使用户方便的定义数据的处理流程,完成抽取过程中的数据加工。同时,使用存储过程,也是用户对数据的处理更加灵活、便利。
准实时的数据复制
传统的数据抽取、转换和装载工具按照时间段处理数据而不能进行实时的数据处理,因而决策支持系统就不能真正体现出太大的价值。当前面临的一个挑战就是如何提供最新的信息,而把数据转换为信息就需要对数据进行转换,SharePlex的准实时数据复制及转换功能无疑将是最佳的选择,用户完全可以从数据仓库或决策支系统中得到最新的统计及决策信息。
SharePlex解决方案的特点
在数据复制项目中,SharePlex for Oracle的数据库复制解决方案具有以下几方面的技术优势。
目标数据可访问
SharePlex独特的实现机制使用户可以对目标系统进行查询操作,正是基于这一优势,使得SharePlex可以使用于多种数据复制的方案中,尤其是在容灾方案中,容灾数据库可以作为报表查询、统计分析、决策支持等系统的数据源,减轻源系统的压力,使投资变为可用,而不是单纯的冷备闲置。
保证事务的一致性
和其它解决方案不同,SharePlex是一个数据库级的软件解决方案,能够保证每个数据库事务在源系统与目标系统之间的一致性。SharePlex能够实现精确复制的一个重要原因就是其能保证从源数据库到目标数据库的Oracle读一致性,不但按顺序复制事务,而且也复制上下文信息。
对源系统性能的影响
SharePlex for Oracle通过Oracle日志获得数据的变化信息,它独特的技术优势使得它对源系统的资源占用很小。在生产系统中,实际对源系统的影响和源系统复制事物的多少,事物的处理方式有关。
数据延迟
SharePlex for Oracle是一种异步准实时的复制技术,每次Oracle 日志文件发生变化后,SharePlex都会迅速的捕捉,所以其数据延迟非常小。在生产系统中,数据延迟和源系统复制事物的多少,事物的处理方式有关。
对网络资源的使用
因为SharePlex复制操作只是读取操作系统的日志文件,同时通过TCP/IP方式而不是采用中间件方式,传输只发生改变的数据也使网络负载降至最低。SharePlex只将日志的三分之一的内容通过网络进行传输。
强大的容错能力
复制环境能够提供网络失败、数据库失败、主机失败的容错能力。无论复制链路中的任何一台数据库或主机出现故障暂时不可用,或者发生网络中断等事故,SharePlex都可以把数据暂时的保存在队列文件中,并在故障被修复后,自动的恢复数据复制,没有数据损失。
灵活性和扩展性强
SharePlex for Oracle提供多种配置方案,包括单向复制、双向复制、数据集中、数据分布等等。可以很好地满足系统的扩充性需求,充分保护投资。
SharePlex for Oracle的复制解决方案对应用的扩容没有任何影响。使用SharePlex,源数据库和目标数据库可以运行在不同类型的操作系统和同一Oracle数据库的不同版本上。同时,也能够支持不同类型的磁盘阵列(包括SAN)。这不仅能够满足目前异构环境,还能适应未来的扩展需求。随着公司规模的不断扩大,在硬件升级时,新旧硬件产品可以随意调换,不受。
异构环境的支持
SharePlex支持目前所有的主流操作系统平台及Oracle的各个版本,同时,基于捕捉日志文件变化的复制原理,使其不受操作系统及数据库版本的,可支持各种不同平台、数据库版本之间的数据复制。
建立复制环境的工作量
SharePlex不需要对硬件、软件、磁盘卷的划分进行任何额外的操作。减少了建立复制环境对系统结构和应用所作的修改工作。
优秀的售后服务
对SharePlex for Oracle用户,Quest提供真正意义上的24X7服务。Quest 是为数不多的拥有完善的全球支持体系的公司,其用户服务中心为包括中国在内的全球用户所开放,可以及时处理在产品使用过程中遇到的问题。
