ORACLE 自动调优相关命令、概要文件管理使用

使用自动调优可以针对某个SQL文本、内存中的SQL id、awr快照中的SQL

创建调优任务

--SQLID
DECLARE
  tune_task VARCHAR2(30);
  tune_sql  CLOB;
BEGIN
  tune_task := DBMS_SQLTUNE.CREATE_TUNING_TASK(
    sql_id          => 'ddg5rqxxujh1u'
   ,plan_hash_value => '2391074787'
   ,task_name       => 'cx_fa_detail_list_prc_new_pg'
   ,description     => 'cx_fa_detail_list_prc_new_pg'
);
END;
/
--不在内存中的
DECLARE
  tune_task VARCHAR2(30);
  tune_sql  CLOB;
BEGIN
  tune_task := DBMS_SQLTUNE.CREATE_TUNING_TASK(
    sql_id      => '331xvbnz4pcnp'
   ,begin_snap  => 58387
   ,end_snap    => 58413
   ,task_name   => 'CUX_FA_CHANGE_TEMP'
);
END;
/

执行任务

begin
   dbms_sqltune.execute_tuning_task(task_name => 'cux_fa_detail_list_prc_new_pkg');
   dbms_sqltune.execute_tuning_task(task_name => 'CUX_FA_CHANGE_TEMP');
end;

查看任务

select dbms_sqltune.report_tuning_task('CUX_FA_CHANGE_TEMP') from dual;

管理概要文件

概要文件就是oracle给你固定的执行计划,sql执行的时候,优先使用概要文件的执行计划。

--查看系统概要文件
SELECT * FROM dba_sql_profiles;
--创建
execute dbms_sqltune.accept_sql_profile(task_name => 'staName61431', task_owner => 'APPS', replace => TRUE);
--查看是否用了概要文件
SELECT * FROM v$sql v
WHERE v.SQL_PROFILE IS NOT NULL ;
--禁用 && 启用
BEGIN
  DBMS_SQLTUNE.ALTER_SQL_PROFILE(
    name => 'SYS_SQLPROF_017920793b1b0003',
    attribute_name => 'STATUS',
    value => 'DISABLED');--启用就是ENABLE
END;
/
--删除概要文件
BEGIN
  DBMS_SQLTUNE.drop_sql_profile('SYS_SQLPROF_01792101551e0004');
END;
/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贤时间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值