负载非常小
• 尽管需要在 Oracle 数据库中安装少量的对象用来存储有关复制的一些基本信息,但
源数据库不需要参与到数据捕获和传输过程中
• SharePlex 的捕获进程不但可以读取在线的日志文件,而且可以读取归档日志,甚至
当归档日志文件被移动到其它设备上时,SharePlex 会发出提示信息。正是这种能力
极大地增强了系统的冗余功能。例如,如果捕获进程由于某种原因被停止,当它重
新启动后数据同步不会受到影响
捕获进程驻留在源系统上,自动读取 Oracle 的在线日志文件。这种读操作是从操作系
统的角度来完成的,而不是通过数据库。通过将日志文件作为获取变化信息的源泉,Shareplex
可以完成数据的复制而不会给生产系统带来额外的开销。由于 Oracle 使用日志文件进行系
统恢复,因此日志文件信息足够,其数据格式也足够稳定。SharePlex 目前已支持从 Oracle 8
至 Oracle 19c 之间的所有版本。
捕获进程连续监控日志文件用以捕捉变化信息。当日志文件中出现一条新记录时,
SharePlex 判断其是否属于被复制对象,如果是,则 SharePlex 为该条记录加入用于决定此记
录将被发向那个主机的地址信息并将包含地址信息的记录存放到自己的队列中,存储队列存
在于数据库之外。发生改变的数据被立即处理并被发送到目标系统中而不等待提交或回滚动
作的完成,因为等待提交或回滚完成将带来延迟。当提交或回滚信息被写入日志文件时,它
们也将被发送到目标系统中,从而在目标系统中完成相对应的操作。
3.数据传输
SharePlex 结合其自己的网络协议和 TCP/IP 协议来完成源和目标系统之间的数据传输。
其相关的进程确保数据的正确接收和网络数据包的正确顺序,从而提供网络传输冗余,确保
数据的完整。整个数据传输过程无需其它的中间件。
4.应用数据
应用进程将传送到目标系统中的信息转化为 SQL 语句,然后发送给 Oracle 执行。
SharePlex 能够实现精确复制的一个重要原因就是其能保证从源数据库到目标数据库的
Oracle 读一致性,不但按顺序复制事务,而且也复制上下文信息,将源数据库中发生变化的
全部事务信息都复制到目标数据库中。
二、Shareplex 的复制模式:
SharePlex 支持多种复制模式,来满足客户复杂的业务需求。有以下 5 种情况:
⚫ 单向复制:以生产系统作为复制时的数据源,若目标数据库仅用于报表和查询,则
该副本可能是生产数据库的一个子集,只包括报表和查询所需内容,而非源系统的
所有信息。SharePlex 允许用户在目标数据库中采用不同于源数据库的数据模式,
并使用专为提高查询效率而建立的索引、主键和分区等以生产系统作为复制时的数
据源,若目标数据库仅用于报表和查询,则该副本可能是生产数据库的一个子集,
评论