OCP 3月周末班,正在授课 欢迎试听         限时优惠:Oracle认证免费重考优惠         OCM周末班 正在报名 ,欢迎垂询!         MySQL认证周末班 正在招生 欢迎垂询!         RHCE 3月周末班 正在招生 欢迎垂询         2019和思庄一起再创辉煌         

利用sqltune优化sql

更新时间: 2019-03-27 16:40

对低效的sql做优化,传统的方式是产生执行计划后,分析执行路径、统计信息等等有无异常,调优过程主要依赖dba的经验。利用dbms_sqltune包可以简化该过程,oracle产生执行计划的同时,针对低效sql会主动给出优化建议,以提高调优效率。方法如下。

1、创建针对低效sql的优化任务

ECLARE
task_name VARCHAR2 (20);
sqltext CLOB;
BEGIN
sqltext := 'select sender from DATA_BLKLISTS_HIS where sender=''86187xxxxxxxx''';
task_name := dbms_sqltune.create_tuning_task (sql_text=> sqltext,
 bind_list => null,
 user_name => 'SA',
 scope => 'COMPREHENSIVE',
 time_limit => 60,
 task_name => 'tunetask',
 description => 'Tuning Task'
 );
 END;
 /

 

2、执行任务

exec dbms_sqltune.execute_tuning_task('tunetask');

检查任务执行状态:

SELECT status FROM USER_ADVISOR_TASKS WHERE task_name = 'tunetask';

 

3、生产分析报告

SET LONG 999999
set serveroutput on size 999999
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('tunetask') FROM DUAL;

 

关注报告输出的recommendation,对有问题的sql,oracle会给出优化建议。

 

注:该方法相当于addm advisor的命令方式,在无法使用EM的环境中可使用。

上一页:使用broker命令行切换dg快照
下一页:没有了

开班信息MORE>>

课程名称 开课时间 上课类型 状态
RHCE认证 2月 周末班 授课中...
OCP认证 3月 周末班 授课中...
OCP认证 4月 周末班 报名中...
OCM认证 3月 周末班 报名中...
RHCE认证 3月 周末班 报名中...
MySQL认证培训 常年 周末班 报名中...
RAC实用技术 常年 周末、脱产 报名中...
<<