基于用电信息采集系统的Oracle GoldenGate性能优化方法

2017-05-12 05:33杨国良唐如意刘金亮
河北电力技术 2017年2期
关键词:联机磁盘日志

杨国良,董 京,唐如意,刘金亮,李 雄,赵 佩

(1.国网河北省电力公司沧州供电分公司,河北 沧州 061000;2.国网河北省电力公司,石家庄 050000; 3.国电南瑞科技股份有限公司用电分公司,南京 210000)

基于用电信息采集系统的Oracle GoldenGate性能优化方法

杨国良1,董 京1,唐如意2,刘金亮1,李 雄3,赵 佩2

(1.国网河北省电力公司沧州供电分公司,河北 沧州 061000;2.国网河北省电力公司,石家庄 050000; 3.国电南瑞科技股份有限公司用电分公司,南京 210000)

针对用电信息采集系统中,Oracler Golden Gate源端数据不能及时同步到目标端,导致数据延迟的问题,从抽取进程、传输进程、复制进程等方面介绍Oracler GoldenGate的性能优化方法,认为必须深入分析业务系统的数据特性,合理的拆分进程,才能真正解决Oracler GoldenGate的数据同步性能问题。

用电信息采集系统;Oracle Golden Gate;性能优化;同步延迟

用电信息采集系统通常部署2套Oracle数据库,将远程采集到的基本数据写入生产数据库,生产库通过Golden Gate软件将数据实时同步到查询库,查询库面向用户提供业务查询和功能使用。Golden Gate是用电信息采集系统能否向最终用户提供正常业务功能的关键环节。Oracler Golden Gate软件(简称“OGG”)的理论同步速度是亚秒级,但由于现场各种复杂原因,其性能经常受到影响,导致源端的数据不能及时同步到目标端,甚至延迟会达到数小时之久,严重影响正常的业务应用。影响OGG同步性能的因素涉及主机CPU、内存、磁盘的I/O、网络等多种因素,以下结合用电信息采集系统的OGG运维经验分别从抽取进程、传输进程、复制进程三方面讨论OGG的性能优化方法。

1 抽取进程优化方法

1.1 正确设置OGG抽取进程参数

OGG的抽取机制为首先读取联机日志,当联机日志不能满足读取要求时读取归档日志寻找数据。如果OGG参数设置不合理,会使OGG读取机制出现错误。

例如,错误配置了TRANLOGOPTIONS参数,致使OGG的抽取端出现30 min至数小时的延迟。此案例抽取端数据库服务器使用的是AIX操作系统的裸设备,而OGG在配置时使用了TRANLOGOPTIONS RAWDEVICEOFFSET 0,此参数的意义为设置OGG进程从磁盘头0位置开始读联机日志,这与AIX的访问磁盘的方式不同(AIX默认访问磁盘方式是从第4 096字节开始访问),导致OGG在读取联机日志时无法识别文件,只能从归档日志进行读取,进而出现巨大延迟。因此在配置OGG时必须保证所设参数跟所处平台的特性相一致。

1.2 确保磁盘有较高的I/O性能

数据更新量越大,对联机日志的磁盘I/O的要求越高,在规划数据库系统时对存储联机日志的磁盘和存储数据文件的磁盘要区别对待,若有条件,联机日志所使用的磁盘要考虑选择raid0+1方案。

1.3 合理规划抽取进程

如果所要抽取同步的数据很大,需要对所抽取的数据特性进行分析,规划合理的OGG抽取进程。OGG抽取进程一般需要遵循以下规则:对于更新量很少的table应该归为一类,单独构建ogg进程;将更新频繁的table归为另一类,这类table应该构建专有的进程。

1.4 减少OGG抽取的TABLE数量

为了减少OGG的扫描工作量,应对OGG进程所抽取的TABLE数量进行限制,对于无意义的数据表不要加入OGG进程中,避免诸如TABLE SCHEMA.*的写法。

1.5 使用多个进程并行抽取

OGG抽取进程效率较高,对于小业务系统一般仅使用一个抽取进程即可,对于业务非常繁忙的系统则需考虑构建多个抽取进程,一般抽取进程一旦出现延迟则需尽快考虑对此进程进行拆分[1]。

2 传输进程优化方法

传输进程出现延迟情况,则问题一般集中在网络带宽性能方面。针对网络带宽性能问题,可以采取以下办法:

a.合理设计需要抽取同步的数据表,例如,数据表合理设置主键、唯一键或唯一索引,这样可以减小队列文件的大小,以减轻网络传输压力。

b.在传输进程中的参数文件使用压缩(添加compress参数),减小经网络传输队列文件的大小。

c.另外,如果业务系统之间的数据同步无需进行过滤或转换,则需要在传输进程的参数文件中添加PASSTHRU参数。

3 复制进程优化方法

3.1 拆分进程

OGG的同步延迟较多出现在复制进程上,因为复制进程在同步数据时依次执行相关逻辑SQL,且复制进程的写操作较抽取进程的读操作资源消耗高,故单个OGG复制进程的效率较低。对复制进程的延迟,多数可考虑拆分进程的办法解决。

由于每个复制进程可以单独处理一个SCHEMA,也可以处理某几张表的集合,也可以处理某一张表的某一个范围,要根据业务的特点选择合适的拆分粒度。

3.2 尽量避免全表扫描

如果要同步的数据表没有主键、唯一键和唯一索引,这样在做OGG同步时会进行全表扫描。为了尽可能降低OGG的同步工作量,可以添加KEYCOLS参数。

KEYCOLS参数的使用示例如下:

TABLE hr.emp,KEYCOLS(FIRST_ NAME,LAST_NAME,DOB,ID_NO);

MAP hr.emp,TARGET hr.emp2,KEYCOLS (FIRST_NAME,LAST_NAME,DOB,ID_NO)。

3.3 合并小事物

如果业务系统的操作类型有大量的小事物,则可以考虑使用GROUPTRANSOPS参数,此参数可以把多个小事物合并成一个大事物进行提交,提高REPLICAT进程的性能。ROUPTRANSOPS参数的原理如图1所示。

图1 GROUPTRANSOPS参数的原理

3.4 使用BATCHSQL进行批量提交

如果OGG对实时性要求不高,可以考虑使用BATCHSQL参数进行批量同步,从而提高OGG的性能。BATCHSQL这个参数是把相同的语句做为一个批处理,而不是像普通的处理方式,每行语句单独提交。

BATCHSQL有2个主要的参数,定义了多少条语句作为一个语句提交,格式如下:

batchsql opsperqueue 30000,opsperbatch 30000。

4 结束语

结合OGG在用电信息采集系统的实际运行情况以及相关的运维、调优、测试经验,分别从抽取进程、传输进程、复制进程对OGG的性能优化方法进行了整理汇总,得出以下结论。

a.需要对业务系统的数据特性做深入分析,同时对数据系统的相关硬件环境做细致调研,以此为基础对OGG参数和进程的部署做合理规划。

b.合理的拆分进程是解决OGG性能问题的主要方法,此外要对OGG进程的同步速度和相关日志做好监控和分析,紧密结合数据特性使用合适的参数来解决OGG的同步性能问题。

[1] 戴冠平.叱咤风云:GoldenGate企业级运维实战[M].北京:清华大学出版社,2012.

本文责任编辑:齐胜涛

Oracle Golden Gate Performance Optimization Methods Based on Electric Energy Data Acquire System

Yang Guoliang1,Dong Jing1,Tang Ruyi2,Liu Jinliang1,Li Xiong3,Zhao Pei2
(1.State Grid Hebei Electric Power Corporation Cangzhou Power Supply Branch,Cangzhou 061000,China; 2.State Grid Hebei Electric Power Corporation,Shijiazhuang 050021,China; 3.NARI Technology Development Co.,Ltd.Electrical Branch,Nanjing 210000,China)

With the constant improvement of the informatization and automation degree of the electric power industry,the efficiency of the data synchronization,copy and distribution among different business systems becomes the problem which practitioners have to face.The Oracle GoldenGate software plays a key role in data synchronization of electric energy data acquire system which has large amount of data and many external business interfaces,and undertakes the obligation of the bottom data acquisition and statistical tasks in power industry.This paper combines the practical operation and maintenance experience of Oracle GoldenGate software,and summarized the performance optimization methods of Oracle GoldenGate.

electric energy data acquire system;Oracle Golden Gate;performance optimization;the synchronization delay

TM76;TP274.2

B

10019898(2017)02 0022 02

20161205

杨国良(1981-),男,工程师,主要从事用电信息采集系统管理工作。

猜你喜欢
联机磁盘日志
叶腊石聚合成型及其旋转磁盘的制作方法
一名老党员的工作日志
它的好 它的坏 详解动态磁盘
扶贫日志
海尔发布全球首个物联多联机云服务平台
再立标杆,天加GHP燃气多联机 助力神木市LNG站建设
解决Windows磁盘签名冲突
雅皮的心情日志
游学日志
Windows系统下动态磁盘卷的分析与研究