兰州石化全面预算系统性能优化报告
2009-07-09
问题提出:
汇总程序执行太慢,(单表汇总25分钟、全口径汇总 4 小时)
系统整体性能表现过慢
优化目标:
单表汇总 10 分钟、全口径汇总 30分钟;系统整体性能良好(响应时间秒级)
数据库服务器配置:
CPU :4核16个CPU
MEMORY :8192 Mb
DISK :200 Gb
OS :Microsoft Windows 64-bit for AMD
RDBMS :Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
非归档(NoArchivelog)的专用服务器模式(Dedicated)
IP Address :100.1.46.11
系统性能诊断:
通过分析ADDM/AWR报告可以看出,性能瓶颈主要表现在如下几个方面,
内存换入/换出频繁
I/O等待消耗了大量数据库时间
CPU 上花费的时间占据了数据库时间中的大部分
问题分析
l 对Oracle实例配置参数的分析可以看出,影响内存以及I/O配置的参数设置需要调整。
l 对全面预算系统数据库存贮架构的分析,表空间以及部分存贮参数需要调整。
l 对系统性能在平均负载情况和负载高峰期的数据库活动以及等待事件的分析可以看出,单表汇总(P_HZ_YSBZFLHZ)和全口径汇总(P_BB_YSBZFLHZ)程序是影响性能的主要因素,其中,维度收集、公式级别设置、公式取数和公式计算部分是关键。
l 对数据库日志Alert.log的分析,Redo Log 日志文件的设置需要调整。
l 其他部分SQL语句的优化
优化处理:
针对性能诊断涉及的问题,考虑到在不改变服务器硬件的情况下,以及Oracle 11g的特点,采取以下措施,解决CPU、I/O、MEMORY资源的竞争。
一、数据库级的优化
内存以及I/O参数调整:详见文件“数据库表空间调整.TXT”中的参数部分。
临时表空间调整,回滚表空间调整以及Redo Log日志归档组的调整:见“数据库表空间调整.TXT”中表空间和Redo部分。
二、系统存贮架构级的优化
按业务数据分类设计表空间为:报表、数据、字典、LOB类型、索引、临时共六类。其中,数据表空间设计两种,一种为缺省数据库块大小8Kb,一种为16Kb;
LOB类型数据全部移入专门设计的LOB表空间;
三个索引表空间分别存贮报表、数据、字典的表的索引;
临时表空间重新设计为8Mb统一分配的模式
详见“数据库表空间调整.TXT”文件的描述。
三、应用SQL语句的优化
维度收集:取消静态化的公式Tree,采用在存贮过程中按加法动态收集的方法,构造维度立方体;
级别设置:是维度收集的逆运算,对收集的所有维度设置计算的优先级,采用减法逻辑;同时,在完成优先级设置时,完成公式计算优先级索引维护。
数据抽取:物化视图的局限是全局数据的刷新,改用静态表和存贮过程实现增量数据的抽取,同时,在抽取过程中,按序组织数据,提高SUM类的计算性能;
公式计算:优先级计算使用位图索引
索引调整:见“数据库表空间调整.TXT”索引部分的描述
其他SQL语句:部分SQL语句的调整
优化结论
一、目标实现
最大单表的汇总时间6分钟,全口径汇总22分钟,实现优化目标。
系统整体性能良好,实现优化目标。系统数据增量频度为月,性能保持三年问题不大
二、参考建议
l LOB类型数据设计单独的表进行存贮
l 关键编码字典与辅助编码字典分离
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16496023/viewspace-610843/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16496023/viewspace-610843/