暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle SQL TUNING SET FROM AWR

oracle分享技术 2021-02-06
960

我们现在测试 从AWR导入


DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY (
  begin_snap        IN NUMBER,
  end_snap          IN NUMBER,
  basic_filter      IN VARCHAR2 := NULL,
  object_filter     IN VARCHAR2 := NULL,
  ranking_measure1  IN VARCHAR2 := NULL,
  ranking_measure2  IN VARCHAR2 := NULL,
  ranking_measure3  IN VARCHAR2 := NULL,
  result_percentage IN NUMBER   := 1,
  result_limit      IN NUMBER   := NULL,
  attribute_list    IN VARCHAR2 := NULL,
  recursive_sql     IN VARCHAR2 := HAS_RECURSIVE_SQL)
 RETURN sys.sqlset PIPELINED;


DBMS_SQLTUNE.SELECT_WORKLOAD REPOSITORY (
  baseline_name     IN VARCHAR2,
  basic_filter      IN VARCHAR2 := NULL,
  object_filter     IN VARCHAR2 := NULL,
  ranking_measure1  IN VARCHAR2 := NULL,
  ranking_measure2  IN VARCHAR2 := NULL,
  ranking_measure3  IN VARCHAR2 := NULL,
  result_percentage IN NUMBER   := 1,
  result_limit      IN NUMBER   := NULL,
  attribute_list    IN VARCHAR2 := NULL,
  recursive_sql     IN VARCHAR2 := HAS_RECURSIVE_SQL)
 RETURN sys.sqlset PIPELINED;


 
上面是函数定义


先查看一下 snap 14219 到 14220 的内容信息


SQL> SELECT sql_id, sql_text
  2  ,disk_reads, cpu_time cpu_seconds, elapsed_time, buffer_gets, parsing_schema_name
  3  FROM table(
  4  DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(
  5   begin_snap => 14219
  6  ,end_snap => 14220
  7  ,basic_filter => 'parsing_schema_name <> ''SYS'''
  8  ,ranking_measure1 => 'disk_reads'
  9  ,result_limit => 10
 10  ));


SQL_ID        SQL_TEXT                                                                         DISK_READS CPU_SECONDS ELAPSED_TIME BUFFER_GETS PARSING_SCHEMA_NAME
------------- -------------------------------------------------------------------------------- ---------- ----------- ------------ ----------- ------------------------------
cw57wyqzxtk90 select sysdate + 0.05/24 from dual                                                        0        1000         1578      0 TDS_HQ
cq2x4ny79m0r6 INSERT INTO DCRMC04D1 SELECT * FROM DCRMC04D1_H WHERE CBIZTYPE = '2'                      0    11355268     11367954 4






1.创建一个 SQL TUNING SET


BEGIN
  DBMS_SQLTUNE.CREATE_SQLSET(
    sqlset_name => 'awrdisktop10', 
    sqlset_owner => 'SYS',
    description  => 'awrdisktop10_14219_14220');
END;
/




2.从awr 加载


DECLARE
  awr_cur dbms_sqltune.sqlset_cursor;
BEGIN
  OPEN awr_cur FOR
    SELECT value(x)
    FROM table(dbms_sqltune.select_workload_repository(
      14219,14220, null, null,'disk_reads',
      null, null, null, 10)) x;
  --
  dbms_sqltune.load_sqlset(
   sqlset_owner =>'SYS',
    sqlset_name => 'awrdisktop10',
    populate_cursor => awr_cur);
END;
/


3.查看 SQL TUNING SET 内容


SQL> SELECT sqlset_name, elapsed_time,cpu_time, buffer_gets, disk_reads, sql_text FROM dba_sqlset_statements WHERE sqlset_name = 'awrdisktop10';


SQLSET_NAME                    ELAPSED_TIME   CPU_TIME BUFFER_GETS DISK_READS SQL_TEXT
------------------------------ ------------ ---------- ----------- ---------- --------------------------------------------------------------------------------
awrdisktop10                           5597       7000         530          1 insert into wrm$_snapshot_details     (snap_id, dbid, instance_number, table_id,
awrdisktop10                           5590       7998          43          0 select count(*) from sys.job$ where next_date < :1 and (field1 = :2 or (field1 =




我们看到 STS FROM AWR 创建成功了

最后修改时间:2021-02-06 16:11:08
文章转载自oracle分享技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论