期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 社科历史 > 社会科学 >

油田计划管理技术研究

1、SQL优化技术演变

1.1传统技术

SQL语句执行速度主要取决于SQL语句的执行计划,而Oracle优化器主要依据所访问表和其他对象的统计信息、优化器参数、系统硬件配置、Oracle参数设置、SQLProfile等信息,来综合分析并确定SQL语句最佳执行计划。传统上Oracle主要采用两种技术来保证SQL语句执行计划的稳定性:一种是在SQL编程语句中增加提示(HINT),强制要求Oracle优化器采用某种固定的执行计划;另一种是使用存储大纲(StoredOutline)技术,即将优化的SQL执行计划提示信息存储在Oracle内部的一组表格中,强制要求相关SQL语句使用这些存储大纲。这两种技术的一个共同特点是将相关SQL语句的执行计划事先固定下来,而不考虑未来环境的变化。SQLProfile则是Oracle从10g版本开始提供的另一种确保SQL语句执行计划最优化的技术。简而言之,SQLProfile是关于SQL语句的统计分析信息,例如:针对某条SQL语句,Oracle采用了哪些取样数据,执行了该语句哪些片段,以及该语句执行情况的历史数据分析等,这些信息构成了SQL语句的SQLProfile。当Oracle执行SQL语句时,优化器不仅利用该语句所访问对象的统计信息,而且还要利用SQLProfile,来整体评估SQL语句执行计划的优劣性,并在分析评估的基础上产生最优的SQL执行计划。

1.2SPM技术

OracleSPM通过维护一个SQL执行计划的基线(Baseline),来自动控制SQL语句执行计划的演化过程。在启用SPM技术之后,系统仅执行基线中的SQL执行计划,新产生的SQL执行计划只有在优化器证明其不会导致系统性能衰减时,才能被加入到执行计划基线(PlanBaseline)中。当一个SQL语句被重复执行时,Oracle就将这些语句记录在语句日志(Statementlog)中,优化器也会将这些语句的执行计划保存于执行计划历史(PlanHistory)中,包括SQL语句文本、Outline、绑定变量、编译环境信息等。Oracle11g系统的SQL自动优化任务(AutomaticSQLTuningTask)将每天晚上在维护窗口针对资源消耗过大的SQL语句进行分析和验证,当确定SQL执行计划不会导致系统性能衰减之后,才会将该计划加入到计划基线(PlanBaseline)中并得到执行。这样,基线中的执行计划都是系统可接受的(Accepted)。

2、SPM的使用方式及过程

SPM有两种使用方式:第一种方式是快速逐次捕获(Ontheflycapture),即通过设置OPTIMIZER_CAPTURE_SQL_PLAN_BASE-LINES的初始化参数为TRUE(该参数缺省值为FALSE),来开启SPM的快速逐次捕获功能。Oracle将自动识别重复执行的SQL语句,并记录在执行计划历史中,第一次执行的SQL语句执行计划将自动成为计划基线,同时OPTIMIZER_USE_SQL_PLAN_BASE-LINES参数保持为缺省值TRUE。SPM的第二种使用方式是批量加载(Bulkloading),数据库管理员(DBA)通过DBMS_SPM程序包可手工批量加载复杂的、资源消耗过大的SQL语句的计划基线。辽河油田针对某些复杂的、消耗大量资源的SQL语句,采用了批量加载的方法。其过程主要包括:利用AWR报告获取SQL语句;生成自动优化任务;执行自动优化任务;接受Oracle自动优化任务产生的SQLProfile。

3、SPM优化效果分析

SQL语句在优化之前AWR报告中的执行结果如表1所示。表1中,ElapsedTime(ms)项是记录执行上述SQL语句所消耗的时间。从表1可以看到,该语句消耗时间为30273ms,即30秒。这30秒的时间远远超出了用户的等待时限(一般来说,应用系统单个功能界面的用户等待时限是8秒)。表中的BufferGets项是指系统从内存中读取的数据量,该语句从内存读取的数据量为1246155块,即9735MB。系统在未实施SPM优化前,需要从内存读取超大量的数据,致使系统运行时间过长。企业用户普遍反映系统运行速度慢、等待时间长,用户一遍遍地致电投诉,但问题一直未能得到很好的解决,用户的满意度大大下降,运维管理人员的压力也增大。在实施OracleSPM自动优化,并且采用Oracle推荐的SQLProfile之后,系统的执行效果得到明显改善。表2为系统优化后的执行结果。从表2可以看出,系统运行时间ElapsedTime为4653ms,即4.6秒,BufferGets为303480块,即2370MB。可见,系统运行时间从30秒下降到4.6秒(8秒之内),从内存读取的数据量从9735MB下降到2370MB,系统的运行效率得到很大的提高。用户反映系统的响应速度明显加快,系统使用的满意度也大大提升。

4、结束语

数据库技术的发展可谓日新月异,利用新技术可使数据库的管理更加科学、高效、简化。SPM技术,解决了人工分析所不能解决的系统衰减问题,让数据库优化变得智能、高效。尽管SPM技术在大型、复杂、负载高的应用系统中具有一定的应用价值,良好的系统架构设计、合理的资源配置,以及软件开发过程中高效的程序编写,却依然是影响系统性能高低的关键因素。

作者:宋新芳 张秋菊 单位:中国石油辽河油田分公司


    更多社会科学论文详细信息: 油田计划管理技术研究
    http://www.400qikan.com/mflunwen/skls/shkx/179409.html

    相关专题:中国老区基金会 怎样发表论文


    上一篇:安全教育在初中实践活动教学的融入
    下一篇:电力投资管理效益提升途径

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍