oracle++spm,『ORACLE』SPM

本文详细介绍了Oracle数据库中SQL Plan Baseline的管理流程,包括捕获执行计划(自动和手工load)、选择高性能执行计划及执行计划的演进。通过DBMS_SPM包的相关函数进行操作,并展示了如何查询SQL Plan Baseline中的信息。了解这些步骤有助于优化数据库性能。
摘要由CSDN通过智能技术生成

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

体系结构

63f5a07e63147d49a4ca71de637b9f0e.png

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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值