时间:2024-05-04
黄碧雄
【摘要】 随着Oracle数据库市场占有率的不断提高,基于Oracle数据库的应用系统所表现出来的性能问题越来越被IT管理人员所关注,因此有必要针对Oracle数据库的性能优化和监控进行深入研究。本文主要介绍了Oracle数据库性能的评价指标,分析影响Oracle数据库系统性能的主要因素,以及对数据库进行性能监控及性能调优的方法。
【关键词】 ORACLE数据库 性能优化 性能监控
一、引言
Oracle数据库作为广泛应用于企业系统开发的关系型数据库,已经成为企业信息化建设的重要基础平台。对Oracle数据库的不合理配置严重影响企业应用系统的性能及业务开展。因此实施Oracle数据库性能优化和性能监控,对提高基于Oracle数据库的系统稳定、高效运行和市场占用率都有重要的作用。
二、Oracle数据库系统性能评价指标
对Oracle数据库的性能优化,其目标是最大限度地提高数据库单位时间内的数据吞吐率,同时将响应时间降到最小,提高应用系统的体验效果。
硬件环境、网络环境、业务模型等基础环境的不同,影响着Oracle数据库系统的性能,而且在使用过程中不同的应用程序、体系结构、服务器等具体情况也对Oracle数据库的性能有不同程度的影响。
1、Oracle数据库吞吐量。吞吐量是指单位时间内Oracle数据库处理SQL语句的数量。Oracle数据库性能优化主要就是为了增加数据库的吞吐量。
2、 Oracle数据库响应时间。Oracle数据库的响应时间是指用户从提交SQL语句开始到接收查询结果集的第一行所需要的时间,Oracle数据库的响应时间一般以毫秒或者秒为单位进行衡量。
3、Oracle数据库命中率。Oracle用户进程所需的所有数据都是经过缓冲区高速缓存来存取的[1]。
4、 Oracle数据库内存使用情况。Oracle数据库对内存的使用情况主要体现在正常运行过程中对共享内存、永久内存和实时内存的分配使用上。
5、磁盘I/0(磁盘读写)。磁盘的I/O操作主要是完成数据库数据的存储和读取,耗费Oracle数据库的最大开销。通过合理的存储配置可减少Oracle数据库磁盘I/O操作,有利于提高Oracle数据库的性能。
三、Oracle数据库性优化的主要方面
3.1调整与优化数据库设计
Oracle数据库的设计方案是否优化严重影响着后续Oracle数据库的性能,尽管Oracle数据库本身已经提供了多种适合系统性能的调节方案,但是在开发信息系统之前,最优的Oracle数据库设计方案仍是影响Oracle数据库性能的关键。
如果Oracle数据库设计本身具有结构性问题,那么后续对数据库的优化和调整都很难达到良好的效果,因此提高数据库的性能应该重视和完善Oracle数据库设计方案。
3.2优化应用程序SQL语句
优化SQL查询语句以及调整数据库的访问方法可以调高Oracle数据库对内存的命中率,进而减少I/O操作,同时可以减少网络带宽的占用,这对完善Oracle数据库系统的性能具有非常重要的意义。
3.3調整数据库内存分配
Oracle数据库实例是由一组Oracle后台进程和SGA的一个内存区组成,SGA暂时存放Oracle数据库对内存命中的数据。因此,提高SGA的使用效率可以大大提高Oracle数据库系统的性能[2]。我们可以根据Oracle数据库运行情况重新分配SGA的大小。
3.4调整与优化磁盘I/0
物理磁盘是用来存储计算机数据的,对Oracle数据库的读写操作难免需要对物理磁盘进行频繁访问,所以优化磁盘I/O操作是提高Oracle数据库性能的重要方面。我们可以减少磁盘资源的竞争、减少I/O访问次数、合理分配数据块的存储大小,减少磁盘操作,降低Oracle数据库系统开销。
四、Oracle数据库性能监控
4.1性能参数指标监控
Oracle数据库性能参数指标监控只要针对Cache命中率、排序表空间、回滚段等关键指标最新状态进行实施跟踪监测。性能参数监控主要是完成监控数据信息与标准数据进行对比,进而完成对数据库各项性能指标的监控。
4.2系统信息监控
系统信息监控主要通过GetHostInfo系统类来实现,主要通过以下成员函数获取系统性能信息[3]。(1)GetPerforinanceInfo()获取数据库系统服务器主机的CPU和内存详细使用情况。(2) GetProcessInfo()获取数据库系统服务器上每个进程的进程名、进程的CPU占有量、进程的内存占有量、进程ID以及活动的进程数等进程信息。(3) GetNetwork()获取数据库系统服务器的网络I/O。
4.3表空间监控
表空间监控主要是对Oracle数据库系统内表空间的信息获取、汇总以及表空间限额预警,如通过综合分析表空间的占有和分布情况,再根据预警规则,当表空间使用超过设定限额时可以向管理员发出预警。
五、优化与监控实例分析
为了评价Oracle数据库优化监控的有效性,本节通过对“项目管理系统”(本厂一套业务系统)的测试,观察及记录优化性能参数前后对业务系统的影响。
5.1优化与监控测试目的
Oracle数据库优化与监控的目的是为了在不影响正常的业务系统及数据库性能的前提下,降低Oracle数据库对磁盘的访问次数及响应时间。
5.2优化与监控测试环境
5.3数据库优化测试
通过调整内存,优化磁盘I/O操作和提高SQL语句的使用效率等方面的调整优化,Oracle数据库的相应时间逐渐减少,性能得到显著提高。
5.4数据库性能测试
由图1、图2得出,Oracle数据库监控功能对服务器性能影响较少。针对本系统的监控而言,Oracle数据库监控模块的时间间隔是10秒,所以业务系统CPU、内存的利用率在监控功能启动后,其性能采集点在时间上会有1~2%的提升,这在生产环境中是可以接受的。
六、结束语
Oracle数据库因为其强大的功能,在国内外的企业系统中得到广泛的应用,也有越来越多的IT管理人员重视和参与到数据库的性能优化中来。Oracle数据库的性能优化涉及面广,优化和调整的过程需要不断地摸索和总结。只有在把握好影响Oracle数据库性能指标的关键因素基础上,结合监控系统,针对不同因素进行相应的优化调整,才能真正将数据库性能提高到一定高度。
参 考 文 献
[1] 郭敏, 郭靖. Oracle 10G数据库性能优化的研究[J]. 武汉理工大学学报, 2005, (10):103-105.
[2] 王振铎, 王振辉. 基于Oracle9i的数据库性能优化策略研究[J]. 计算机系统应用, 2006, (6):76-79.
[3] 卞荣兵, 张迎春, 赵远东. 基于ORACLE数据库性能优化的研究[J]. 计算机系统应用, 2002, (9).
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!