请教ogg中复制进程rep01延迟问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教ogg中复制进程rep01延迟问题相关的知识,希望对你有一定的参考价值。

参考技术A 在老版本的mysql 3.22中,MySQL的单表限大小为4GB,当时的MySQL的存储引擎还是ISAM存储引擎。但是,当出现MyISAM存储引擎之后,也就是从MySQL 3.23开始,MySQL单表最大限制就已经扩大到了64PB了(官方文档显示)。也就是说,从目前的技术环境来看,MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定,而是由所在主机的OS上面的文件系统来决定了。   而MySQL另外一个最流行的存储引擎之一Innodb存储数据的策略是分为两种的,一种是共享表空间存储方式,还有一种是独享表空间存储方式。   当使用共享表空间存储方式的时候,Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所 以其大小限制不再是文件大小的限制

OGG12.2常用结构

1、单项复制结构

 

技术分享图片

 

源数据系统--Capture-->队列文件---(Pump)-->网络(Internet,Intranet-->队列文件--Delivery-->目标数据系统

这种结构用于将数据从单个系统复制到一个或多目标系统。

三个进程:

extract (capture) 进程,

data pump 进程,

replicate (delivery)进程。

队列文件为二进制文件。

 

 

2、双向复制(双活)结构

 

技术分享图片

 

这种结构可以用于系统的高可用,类似ADG技术,但是OGGADG技术相似,用于的场景各不相同。

 

 

3、实时数据仓库结构

 技术分享图片

 

应用企业所有数据进行整合在一个库中,类似于Hadoop,数据可进一步应用于大数据技术。

 

 

4、实时进行数据分发

技术分享图片

可以从一个数据源端将数据或者部分数据分发到不同地理位置的目标数据源。

 

 

 

5、通过信息进行数据分发

 

技术分享图片

 

通过富文本进行数据传输,如使用Microsoft Excel,将数据分发到不同数据库类型。

 

 

6、理解SCNSystem Change Numbers

Oracle GoldenGate 中将SCN作为复制进程对Oracle数据库的事务进行复制的唯一标识。在Microsoft SQL ServerMySQL同样拥有相似的Number

在启动捕获进程以后,记录SCN号。可以通过v$database视图或者dbms_flashback包进行获取。

获取SCNSQL

SQL> select current_scn from v$database;

SQL> select dbms_flashback.get_system_change_number from dual;

:RAC环境中使用gv$database视图获取SCN

 

 

7OGG进程

1)管理进程

管理进程是OGG所有进程的主进程,只要有复制进程存在,在相关的每个系统中必须始终运行,主要功能如下:

a、启动和重启OGG进程;

b、启动动态进程;

c、操作进程的端口号;

d、队列文件的管理;

e、事件,错误和阀值报告

 

2)收集进程

OGG在线同步进行时,运行在目标数据端(交付端)的后台进程。主要任务包括:

a、对来自源端抽取进程的管理器进行端口的扫描和限制。

b、接收来自源端抽取事务,并将数据写入队列文件。

 

OGG为每一个抽取进程分配一个收集进程。抽取进程结束时,收集进程也随之结束。

 

3)捕获进程

OGG中抽取进程用于在数据发生变化时,从在线事务处理日志中(如:oracleredolog)获取数据的变化,实现数据同步。

 

一次抽取可以使用两种方法进行配置:

ainitial load:用于数据的初始化,一般是静态数据的导入,经常使用specialrun 参数。

b、数据变更同步:当数据发生变化时从源端同步到目标端。

 

经典型捕获进程有内存的需求,每个捕获进程需要25M~55M的内存。

 

整合型捕获进程在11.2.0.2中引入并仅仅支持Oracle11.2.0.3及更高版本的数据库。在Oracle数据库中运行整合型捕获与日志挖掘进程进行互动。

技术分享图片

在Oracle database内部有一些进程与整合型捕获进一同运行,成为日志挖掘进程配置的一部分。

日志挖掘服务器有以下几部分组成:

读:读取并将redolog进行分解。

准备:扫描redolog,预过滤事务 为并行使用做准备。

重组:使用SCN通过准备进程和服务对redo记录进行整合。

获取:按照redo记录的格式,将逻辑上改变记录传输到本地队列文件。

 

注意:根据实际设置SGA中streams_pool_size 参数以获取更好的性能。

 

 

 

4)数据泵进程

其实数据泵组是一个二次抽取进程组,用于帮助数据通过网络传输。尽管数据泵是一个类似抽取组的捕获进程,但是并不冲突。数据泵进程的主要功能是将队列文件通过网络传输到远程的目标系统上。

为什么要使用数据泵进程?这要可以在网络出现问题的时候保护数据,避免数据出现不一致的情况产生。

 

数据泵进程不像捕获进程,数据泵进程无须过多的配置,经典模式下仅仅需要配置可用。

 

5)交付进程(复制进程)

交付进程在OGG环境中其实是一个数据应用进程。交付进程的任务是:读取队列文件,按照时间顺序获取事务(按照SCN清单获取事务),并应用事务。

交付进程有三种模式:

经典交付:经典交付是OGG默认配置的交付进程,由操作系统层进行管理。 内存需求:25M~55M

协同交付:协同交付与经典交付很类似,区别在于:协同交付进程将会产生由主交付进程协调的从属进程。并行的协同交付进程可以分解一个交付进程,使得长事务像小事务一般。

 

集成交付:

在OGG12C中引入集成交付进程。集成交付是基于主键,外键或者唯一键约束,依赖于事务和应用事务。

 

集成交付集成包括四个部分:Receiver,Prepare,Coordinator,Apply(n),如下图。

技术分享图片

技术分享图片

 

6)队列文件

队列文件是OGG特有的二进制文件,在OGG结构中承载事务。当数据发生改变时,支持持续不断地进行数据抽取和数据复制。他可以存储在本地文件中,也可以存储在远程的目标系统文件中。


以上是关于请教ogg中复制进程rep01延迟问题的主要内容,如果未能解决你的问题,请参考以下文章

OGG目标端复制Sequence时Hang住的问题

为啥oracle ogg monitor jagent进程找不到,请教大神

OGG工作原理

OGG 至BDA 上的复制进程报错,错误代码OGG-01151

GoldenGate复制单表开并行

TEMP表空间之Ogg复制进程占用