码迷,mamicode.com
首页 > 数据库 > 详细

『ORACLE』SPM

时间:2017-04-22 20:45:16      阅读:394      评论:0      收藏:0      [点我收藏+]

标签:int   业务   put   style   好的   declare   tun   led   oracle   

SPM(sql plan management)的主要作用:通过管理sql执行计划,提高和稳定系统性能。

应用场合:数据库升级、不间断的系统数据改变、业务系统新模块的开发

体系结构

技术分享

sql plan baseline的管理流程:

第一步:捕获执行计划(主要作用:检测执行计划和记录的改变并记录到baseline中,捕获方式有两种:1、自动捕获 2、手工load)

手工load执行计划—>from cursor cache

DECLARE my_plans PLS_INTEGER; BEGIN my_plans := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE( sql_id => ‘99twu5t2dn5xd‘); END; /

手工load执行计划—>from tunning set

DECLARE my_plans PLS_INTEGER; BEGIN my_plans := DBMS_SPM.LOAD_PLANS_FROM_SQLSET( sqlset_name => ‘tset1‘); END; /

第二步:选择性能好的执行计划

第三步:演进(两种方式:1、通过包演进dbms_spm.evolve_sql_plan_baseline 2、手工load)

SET SERVEROUTPUT ON SET LONG 10000 DECLARE report clob; BEGIN report := DBMS_SPM.EVOLVE_SQL_PLAN_BASELINE( sql_handle => ‘SYS_SQL_593bc74fca8e6738‘); DBMS_OUTPUT.PUT_LINE(report); END; /

可以通过查询select语句查询sql plan baseline

SELECT SQL_HANDLE, PLAN_NAME, ENABLED, ACCEPTED, FIXED FROM DBA_SQL_PLAN_BASELINES;

Baseline中的fixed的执行计划比no fixed的执行计划优先级高,可以通过更改baseline属性来设置fixed的属性。

『ORACLE』SPM

标签:int   业务   put   style   好的   declare   tun   led   oracle   

原文地址:http://www.cnblogs.com/KT-melvin/p/6748897.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!