SharePlex数据库复制解决方案

SharePlex数据库复制解决方案




  1、SharePlex数据复制技术

  如何在不宕机的情况下,对 Oracle 数据库内的海量数据进行转移和管理,这是一种长期存在的用户需求。Shareplex 可以让您的 Oracle 数据库分身有术,满足您多样化,高性能的应用需求。

  Oracle 复制容灾产品 SharePlex for Oracle 是一种准实时、低带宽、跨平台、跨 Oracle 版本的 Oracle 复制解决方案,采用业界内独特的技术、领先的产品结构确保企业实现其高可用性和高性能的管理目标。Shareplex 支持面向高可用性、灾难恢复、报表剥离、数据分发/共享和应用程序集成等不同的应用场景,不会对 Oracle 生产系统的性能造成影响。
   
  1.1SharePlex技术原理

  1.1.1基本结构

  下图所示为SharePlex for Oracle的基本结构,其中涉及较多的技术细节。
             
1.1.2数据捕获

  SharePlex for Oracle中由捕获进程来收集发生变化的数据,此进程的独特之处在于它几乎不对生产数据库带来任何开销。

  此捕获过程中完成的操作为:

  捕获进程从Oracle 日志文件中读取信息,因此复制过程不会给生产数据库实例带来性能问题

  只有发生改变的数据被传输,而不是日志文件中的全部信息,因此SharePlex的网络负载非常小

  尽管需要在Oracle数据库中安装少量的对象用来存储有关复制的一些基本信息,但源数据库不需要参与到数据捕获和传输过程中

  SharePlex的捕获进程不但可以读取在线的日志文件,而且可以读取归档日志,甚至当归档日志文件被移动到其它设备上时,SharePlex会发出提示信息。正是这种能力极大地增强了系统的冗余功能。例如,如果捕获进程由于某种原因被停止,当它重新启动后数据同步不会受到影响

  捕获进程驻留在源系统上,自动读取Oracle的在线日志文件。这种读操作是从操作系统的角度来完成的,而不是通过数据库。通过将日志文件作为获取变化信息的源泉,Quest可以完成数据的复制而不会给生产系统带来额外的开销。由于Oracle使用日志文件进行系统恢复,因此日志文件信息足够,其数据格式也足够稳定。Quest SharePlex 目前已支持从Oracle7.3.4 至 Oracle 10g 之间的所有版本。

  捕获进程连续监控日志文件用以捕捉变化信息。当日志文件中出现一条新记录时,SharePlex判断其是否属于被复制对象,如果是,则SharePlex为该条记录加入用于决定此记录将被发向那个主机的地址信息并将包含地址信息的记录存放到自己的队列中,存储队列存在于数据库之外。发生改变的数据被立即处理并被发送到目标系统中而不等待提交或回滚动作的完成,因为等待提交或回滚完成将带来延迟。当提交或回滚信息被写入日志文件时,它们也将被发送到目标系统中,从而在目标系统中完成相对应的操作。

  1.1.3数据传输

  SharePlex结合其自己的网络协议和TCP/IP协议来完成源和目标系统之间的数据传输。其相关的进程确保数据的正确接收和网络数据包的正确顺序,从而提供网络传输冗余,确保数据的完整。整个数据传输过程无需其它的中间件。

  1.1.4应用数据

  应用进程将传送到目标系统中的信息转化为SQL语句,然后发送给Oracle执行。

  SharePlex能够实现精确复制的一个重要原因就是其能保证从源数据库到目标数据库的Oracle读一致性,不但按顺序复制事务,而且也复制上下文信息,将源数据库中发生变化的全部事务信息都复制到目标数据库中。

  1.2复制模式

  SharePlex支持多种灵活的复制模式,主要包括:

  1.2.1单向复制

  单向复制以生产系统作为复制时的数据源,若目标数据库仅用于报表和查询,则该副本可能是生产数据库的一个子集,只包括报表和查询所需内容,而非源系统的所有信息。SharePlex 允许用户在目标数据库中采用不同于源数据库的数据模式,并使用专为提高查询效率而建立的索引、主键和分区等。
           
  这种简单、高效的复制方案,可满足任何需通过剥离报表和查询来改善系统性能的需求。这种水平扩展方案可不必引入冲突解决和锁管理机制,而直接卸载生产系统压力。

1.2.2双向复制

  双向复制是高可用型数据复制的典型配置。这种方式能在正常工作方式下,将主数据库的数据更新复制到从属系统;一旦主系统出现故障,业务处理需要切换到从属系统时,即配置为自从属系统向主系统的逆向复制。这种配置要求目标例程处于可读写状态,并具有较高的可靠性。只需短暂的中断,业务处理即可迅速恢复,而不必进行漫长的重启和数据库恢复。
                     
1.2.3广播复制

  该配置利用单个源系统,向多个目标例程复制数据。SharePlex支持通过局域网和广域网的复制。在这这种配置时,远程用户可以通过数据复制建立的副本,实现本地查询。
 
1.2.4合并复制

  在报表应用中,SharePlex 支持合并复制模式。该配置可将若干个源数据库合并到单一目标例程中,并基此建立企业报表和查询应用。
     
1.2.5层叠复制

  也称为多级复制或层次化复制,可实现源系统到目标系统,再到下级目标数据库的复制。利用SharePlex,中转系统可不再需要Oracle 数据库。这种配置能在无法直接通讯的系统间实现数据传输,并使数据分发的压力从生产系统卸载到专门为数据分发而建立的复制副本上。
     
1.3SharePlex主要技术指标
     
  Shareplex产品的主要技术指标见下表:

2适用场合

  2.1数据容灾

  数据的安全及业务的连续性是一个应用系统最基本的保证,关键业务数据的丢失或业务的中断可能会给企业带来不可估量的损失。

  幸运的是,自从1997年以来,SharePlex已不断地被证明其领先的技术能够帮助企业实现这一管理目标。通过建立实时或准实时的容灾数据库,在出现数据损失时不仅可以保证关键业务数据的及时恢复,也可以确保应用程序的及时接管,将故障对应用系统的影响降到最低。

  ●平战结合的解决方案

  数据容灾系统的建立,往往需要较大的软硬件投资,而以往的解决方案中,目标系统在平时一直处于不可用状态,只有在发生灾难时才可体现出其价值,造成了资源及投资的极大浪费。Shareplex的解决方案,为用户提供了一个随时可用的容灾数据库,在充分满足容灾的前提下,也可为用户提供一个可用的查询数据库、或数据仓库的数据源,以分担生产数据库的负载,增加了容灾系统的利用价值。

  ●数据安全的保障

  采用SharePlex作为整个容灾系统的关键环节可以有效地保护企业的关键信息。当生产系统数据库出现意外故障数据丢失,且本地备份无效时,可通过容灾数据库中的数据来实现接近零数据损失的灾难恢复,确保核心业务数据的安全。此外,研究表明,大多数的数据丢失并不是系统崩溃导致的,相反,一些意外事件,如删表、数据块级的数据损坏或数据文件的丢失才是数据丢失的主要原因。而SharePlex容灾方案则可以防止这类意外的发生,为数据提供充分的保障。甚至当生产系统由于人为原因造成数据丢失的时候,也可以通过Shareplex的配置策略实现数据的恢复。

  ●快速的容灾接管

  通常的容灾技术采用等待模式,即备份系统实际上不可用。如果要确保这个容灾系统在需要的时候可用还需进行测试,而测试往往需要备份系统处于离线状态,这种测试同时也是一个开销较大的行为。如果不进行定期的测试,容灾系统的可靠性会随着时间的推移而降低。由于SharePlex的解决方案中,容灾系统的数据库一直处于打开状态,实际上相当于对容灾系统进行不间断的测试,确保容灾系统随时处于可用状态。

  对于许多企业来说,灾难恢复时间的长短直接影响着公司的业绩。SharePlex支持多种配置方案,包括对等配置方案,在这种配置方案中,两个数据库都处于可用状态,因而可实现快速的失败接管,接管时间基本等于应用系统切换数据库的时间。在容灾方案中没有比这种失败接管更快的方法了。

  ●业务连续性的保障

  另外,当利用SharePlex为业务系统提供灾难恢复能力时,容灾系统中的硬件环境又可以暂时切换为生产数据库,以降低系统维护工作中的停机时间。切换回生产数据库后,数据可通过反向的数据复制链路恢复到源系统,没有任何数据损失。

  2.2报表分离/负载均衡

  许多企业面临着一个充满竞争冲突的业务需求:一方面,企业需要确保在线事务处理系统具有良好的性能;另一方面,企业需要获得有效和及时的决策支持信息和企业报表。在传统的系统中这两种需求的冲突极大地降低了业务系统的性能。

  利用SharePlex可以很容易地建立一个与源系统保持数据同步的目标系统,在这种配置环境下,在线事务处理可以获得很好的性能,而决策支持和报表处理可在不影响正常业务的情况下进行。通过这种独特的配置策略可以非常好地解决在线事务处理和报表处理之间的竞争问题,不管报表系统会消耗多大的系统资源,对于客户和内部员工来说,系统的响应速度不会受到丝毫的影响。SharePlex实现的报表分离/负载均衡方案具有以下特点

  ●目标系统的选用

  SharePlex是一个基于SQL语句复制的逻辑复制软件,这就决定了它平台选择的自由性,可实现不同操作系统之间,不同数据库版本之间的数据复制。因此,用户可根据自己现有的软硬件平台来建设报表系统,无需购买昂贵的软硬件设备,大大降低了投资的成本,也可使现有资源得到充分的利用。

  ●复制对象和复制方式

  大部分报表系统并不需要生产系统的全部数据,同时有些敏感数据也需要进行保护,由于SharePlex对复制内容的选择非常灵活,可以是源系统的全部表或部分表,甚至可以根据需求,仅复制表中的部分字段,或符合特定条件的记录,这就给报表系统的建设带来了极大的灵活性,用户完全可以根据自己的需求定义数据复制的内容。

  ●面向不同应用场景的性能优化

  为报表处理和在线事务处理规划和建立数据库是一件比较困难的事情。在理想情况下,每一个数据库应有其自己的索引模式、数据分区和数据归档,而利用SharePlex则可以很容易地实现这个目标。SharePlex支持在事务处理数据库和报表数据库上分别建立不同的索引,数据可在一个数据库中集中存储和管理而在另一个数据库中进行分区管理。另外,由于事务处理数据库和报表数据库具有同步的数据,因此可以不对在线事务数据库进行归档,而只对报表数据库归档,这种管理模式既可以保证在线事务处理数据库具有最好的性能,又可保证数据始终处于可访问状态。

  2.3消除系统移植过程中的停机时间

  尽管企业从规划设计良好的业务系统中收益,但也不得不面临系统移植和升级这一挑战。数据集中、技术的推陈出新和服务器的移植都是导致必须进行系统移植的原因之一。

  SharePlex可确保在进行以上工作时正常的事务处理得以继续进行。源系统的功能不受到任何影响,SharePlex只捕捉移植过程中发生变化的事务并将它们排队保存。当移植工作结束后,这些被保存的事务将被应用到新系统中并进行数据同步工作。一旦数据同步后,用户活动会有非常短暂的停顿,在此瞬间将完成系统的切换动作。

  ●异构平台的迁移及数据库升级

  基于SharePlex对复制平台异构的支持,SharePlex的系统移植方案,完全可以实现跨平台的数据库迁移或数据库版本的升级。例如:用户可以平滑的实现HP 平台下 Oracle 8i 到 AIX平台下 Oracle 9i的数据库升级,没有任何限制。

  ●极短的停机时间

  以往的数据库迁移或升级,大部分情况下只能使用EXP/IMP的方式完成,必然造成较多的停机时间,这对现今越来越要求高可用性的7*24小时系统来说,几乎是不可接受的。SharePlex通过使用中间机,及数据变化的即时复制等技术,使停机时间从几小时甚至几天,缩短到几分钟,最大程度的满足了用户的需求。

  ●升级失败的回滚

  通常的数据库升级或迁移都存在着一定的风险,如数据库与应用程序兼容问题等,如果升级后出现未预料到的问题,或升级失败,则需要能够迅速切换到原有的系统,以保证系统的正常运行。SharePlex完成系统的升级或迁移后,可以建立一条由新系统到旧系统的复制链路,将新系统上的数据变化复制回旧系统。此时,如果新系统出现意外情况,应用不仅可以迅速的切换到原有的系统,也避免了切换过程中的数据损失,保证了系统的平稳过渡。

  2.4数据集中和数据广播

  企业可能经常需要进行数据集中或广播操作从而使事业的各个部门或分公司获得最新的信息。SharePlex在设计和开发时就考虑了此种需求,利用SharePlex,企业可以在任意时间,对任意地点进行信息更新。

  SharePlex通过非常有效的管理控制机制来实现数据集中和广播。SharePlex提供细化的数据筛选功能,可按业务需要定制需要传输的数据,从而缓解和消除了数据传输过程中的安全和带宽问题。例如,如果远程节点只需要有关本地员工的基本信息而无需薪水信息,那么只需利用SharePlex传输相关的数据行和字段即可。

  服务器集中是系统迁移的一种形式。进行系统维护要带来开销,当服务器数量众多时系统维护开销还是很可观的。为了降低这些开销,一些企业在进行服务器集中工作,通过将系统的规模集中到为数不多的高性能服务器上可大大地提高工作效率并降低生产成本。利用SharePlex可进行数据库的集中工作,从而加速服务器的集中过程。

  ●异构平台支持

  通常,企业内部可能有多个应用系统,需要对这些系统中的数据进行集中,生成企业的管理报表。从多个不同的Oracle实例中抽取数据和产生报表是件比较耗时和费力的事情,同时,还要考虑各个数据库的版本及平台是否一致。

  SharePlex可从多个不同版本或平台的数据库中抽取数据并将数据集中到一个Oracle实例中。在这种情况下,数据抽取和生成报表操作不再独立,而是在同一个数据库实例中进行,从而消除了极其消耗资源的数据库间的关联操作。也避免了应用程序需要同时访问多个不同版本、平台数据库的麻烦。

  ●异地数据复制

  通常的数据集中需求,往往是异地数据库的数据复制,以往的方案往往需要较高的网络配置需求,而SharePlex的复制技术决定了它对网络资源占用极少,完全可以适合各种远距离的数据复制,无须建设专用的网络,大大降低了用户在网络方面的投资。

  ●多对一或一对多的复制

  Shareplex复制链路拓扑结构的定义非常简便,仅需要再配置文件中指定不同的目标系统即可,同时,一个节点可以同时接受多个数据源的数据复制,也可同时复制到多个目标系统。用户仅需要在每台数据库主机上安装相同的产品即可,不需要而外的复杂复制,激活相应的配置文件即可实现不同拓扑结构的数据复制。

  2.5应用数据同步

  随着应用系统的不断发展,分布式的应用系统也得到了普遍的发展,但建设分布式系统的同时,也必须要考虑到各个系统之间数据的同步问题。达到实时的同步效果必然要极大的牺牲系统的性能;而保证系统的性能则需要以数据的延迟为代价。SharePlex提供的数据同步解决方案,可以从根本上解决这一技术难题,在不影响系统性能的前提下,实现各个生产中心的数据接近实时的互相同步,并可根据用户的需求,配置成单向数据同步,多个数据库的层叠复制,以及多生产中心的数据双向同步。

  ●复杂复制环境的支持

  SharePlex的数据复制方向及拓扑结构完全由激活的配置文件来决定,用户可以根据实际应用的需求,自有的进行定义,没有任何限制,同一系统既可以作为源系统也可同时作为目标系统。这对于当前日益复杂的应用系统来说无疑是一个最佳的解决方案。

  ●数据冲突处理机制

  对于在多生产中心的双向数据同步中不可避免出现的数据冲突问题,SharePlex也提供了完整的解决方案,用户可根据实际的业务逻辑,为数据冲突建立不同的解决方案,如以主站点数据为依据,或按时间戳来处理等,配置灵活而简便。

  2.6数据仓库及决策支持

  系统应用为了在当今的市场竞争中保持优势,越来越多的公司在建设强健的决策支持系统。SharePlex为数据仓库及决策支持系统提供了完整的数据抽取、转换和装载的解决方案,并具有一下特点:

  ●抽取内容灵活定义

  SharePlex对复制内容的定义非常灵活,因此用户可根据数据抽取的需要,选择复制内容,同时,当复制内容有变化时,SharePlex也可非常方便的修改复制内容。

  ●数据的加工处理

  通常情况下,数据仓库对数据的需求不仅仅是原始数据即可,往往还需要对数据进行一定程度的加工或处理。SharePlex可以通过在目标端使用存储过程的方式,使用户方便的定义数据的处理流程,完成抽取过程中的数据加工。同时,使用存储过程,也是用户对数据的处理更加灵活、便利。

  ●准实时的数据复制

  传统的数据抽取、转换和装载工具按照时间段处理数据而不能进行实时的数据处理,因而决策支持系统就不能真正体现出太大的价值。当前面临的一个挑战就是如何提供最新的信息,而把数据转换为信息就需要对数据进行转换,SharePlex的准实时数据复制及转换功能无疑将是最佳的选择,用户完全可以从数据仓库或决策支系统中得到最新的统计及决策信息。
展开阅读全文

没有更多推荐了,返回首页