加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ORACLE SQL TUNING ADVISOR

发布时间:2020-12-12 13:30:47 所属栏目:百科 来源:网络整理
导读:sql tunning advisor 使用的主要步骤: 1 建立tunning task 2 执行task 3 显示tunning 结果 4 根据建议来运行相应的调优方法 ----ADVISOR授权 1 基于SQL文本建立任务 FUNCTION create_tuning_task( sql_text IN CLOB, bind_list IN sql_binds := NULL, user_n
sql tunning advisor 使用的主要步骤:
1 建立tunning task
2 执行task
3 显示tunning 结果
4 根据建议来运行相应的调优方法 ----ADVISOR授权

1 基于SQL文本建立任务

FUNCTION create_tuning_task(
sql_text IN CLOB,
bind_list IN sql_binds := NULL,
user_name IN VARCHAR2 := NULL,
scope IN VARCHAR2 := SCOPE_COMPREHENSIVE,
time_limit IN NUMBER := TIME_LIMIT_DEFAULT,
task_name IN VARCHAR2 := NULL,
description IN VARCHAR2 := NULL)
RETURN VARCHAR2;

2 基于sql_id建立任务
FUNCTION create_tuning_task(
sql_id IN VARCHAR2,
plan_hash_value IN NUMBER := NULL,
description IN VARCHAR2 := NULL)
RETURN VARCHAR2;

3 基于AWR快照间隔以及相应SQL_ID建立任务
FUNCTION create_tuning_task(
begin_snap IN NUMBER,
end_snap IN NUMBER,
sql_id IN VARCHAR2,
ask_name IN VARCHAR2 := NULL,
description IN VARCHAR2 := NULL)
RETURN VARCHAR2;

案例:
DECLARE
MY_TASK_NAME VARCHAR2(30);
MY_SQLTEXT CLOB;
BEGIN
MY_SQLTEXT :=‘SELECT 1 from dual‘;
MY_TASK_NAME := DBMS_SQLTUNE.CREATE_TUNING_TASK(SQL_TEXT => MY_SQLTEXT,
BIND_LIST=>SQL_BINDS(ANYDATA.CONVERTNUMBER(9)),
USER_NAME => ‘NOAP‘,
SCOPE=>‘COMPREHENSIVE‘,
TIME_LIMIT => 600,
TASK_NAME => ‘SQL_TUNING_TEST‘,
DESCRIPTION=>‘TUNING TASK‘
);
END;

BEGIN DBMS_SQLTUNE.EXECUTE_TUNING_TASK(‘SQL_TUNING_TEST‘); END;SELECT status FROM USER_ADVISOR_TASKS WHERE task_name =‘SQL_TUNING_TEST‘;SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK(‘SQL_TUNING_TEST‘) FROM DUAL;BEGIN dbms_sqltune.drop_tuning_task(‘SQL_TUNING_TEST‘); END;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读