Oracle数据库低效语句监控定位的方法研究
2012-09-17李俊炜
微型电脑应用 2012年11期
李俊炜
0 引言
随着商业银行应用项目规模的扩展,Oracle数据库在开放平台应用项目中的使用愈来愈广,存储着大部分的平台侧关键应用数据。应用数量不断膨胀的结果是伴随着需要管理的数据库套数日趋庞大,并且涵盖各个业务模块,其管理难度与复杂性也与日俱增。
笔者作为 Oracle数据库的管理员,在日常工作中经常需要应急处理各类数据库突发状况,通过对近年来应急事件的归类分析,发现,因SQL语句效率问题引发系统性能下降,进而影响正常业务交易的情况,占了各类生产问题的50%以上。虽然专业组也研究总结了多种方法来发现数据库性能变化,比如对数据库的等待事件进行监控、对进程的等待事件时间进行监控等,但是这些监控,往往是效率问题达到一定程度后才能发现,而通常到了那个时候,已经对业务产生了实际影响。为此,亟需一种方法,能够在低效率语句尚未给系统造成实际影响前发现异常状况,快速发现问题根源。
1 DB TIME及ELAPSED TIME监控构想的提出
笔者通过对Oracle 10g在线文档的查阅,以使用Oracle 10g之后的时间统计模型作为突破口,结合多年Oracle数据库管理经验,总结归纳了针对Oracle 10g以上版本,“通过对数据库DB TIME及SQL语句ELAPSED TIME的监控及与历史情况对比”的方法。通过生产实际应用检验,该方法可以切实有效地提前发现数据库运行效率异常,并且快速定位造成数据库运行效率异常的问题语句。
本文通过对该方法的原理、实现方式的阐述,对“如何在低效率语句尚未给系统造成实际影响前发现异常状况,如何快速定位发现问题语句”问题给出了一个具有可操作性的方案,并对该监控的后续研究方向提出设想与展望。……
登录APP查看全文
