ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

oraclesqlµ÷Óż¯(Ò»)
2015-07-24 10:58:46 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:5´Î
Tags£ºoraclesql
************************************************************
1.н¨µ÷Óż¯¶ÔÏó
************************************************************


---ÊÚȨ

grant ADMINISTER ANY SQL TUNING SET  to scott;


---ɾ³ý´æÔÚµÄSTS



BEGIN
  DBMS_SQLTUNE.DROP_SQLSET(
    sqlset_name => 'OCPYANG_STS'
    );
END;
/


---н¨STS


BEGIN
  DBMS_SQLTUNE.CREATE_SQLSET(
    sqlset_name => 'OCPYANG_STS', 
    sqlset_owner => 'SCOTT',
    description  => 'ocpyangtest');
END;
/


---²é¿´Êý¾Ý¿âÒѾ­´´½¨µÄSQLSET

select owner, name, id, created, statement_count from dba_sqlset;






************************************************************
2.²é¿´AWR×ÊÔ´Ãܼ¯ÐÍSQLÓï¾ä
************************************************************

---2.1²é¿´¿ÉÓõĿìÕÕ·¶Î§

SELECT snap_id, instance_number, end_interval_time
FROM dba_hist_snapshot
ORDER BY snap_id;


---2.2 ²é¿´¿ìÕÕ±àºÅ820-840Ö®¼ä´ÅÅÌʹÓÃÂÊǰ10µÄsql

SELECT sql_id
,substr(sql_text,1,100)
,disk_reads, cpu_time, elapsed_time
FROM table(DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(820,841,
            null, null, 'disk_reads',null, null, null, 10))
ORDER BY disk_reads DESC;


---2.3²é¿´Ã»Óб»sysÓû§½âÎöµÄsql

SELECT sql_id, substr(sql_text,1,100)
,disk_reads, cpu_time, elapsed_time, parsing_schema_name
FROM table(
DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(820,841,
'parsing_schema_name <> ''SYS''',
NULL, NULL,NULL,NULL, 1, NULL, 'ALL'));


---2.4 ²é¿´¿ìÕÕ±àºÅ820-840Ö®¼ä·ÇsqlÓû§ÅÅÐòµÄǰ10µÄsql
SELECT sql_id, substr(sql_text,1,100)
,disk_reads, cpu_time, elapsed_time, buffer_gets, parsing_schema_name
FROM table(
DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(
 begin_snap => 820
,end_snap => 841
,basic_filter => 'parsing_schema_name <> ''SYS'''
,ranking_measure1 => 'buffer_gets'
,result_limit => 10
));



COL bsnap NEW_VALUE begin_snap
COL esnap NEW_VALUE end_snap
--
SELECT MAX(snap_id) bsnap
FROM dba_hist_snapshot
WHERE begin_interval_time < sysdate-7;
--
SELECT MAX(snap_id) esnap
FROM dba_hist_snapshot;


--
COL sql_text            FORMAT A40
COL sql_id              FORMAT A15
COL parsing_schema_name FORMAT A15
COL cpu_seconds         FORMAT 999,999,999,999,999
SET LONG 10000 LINES 132 PAGES 100 TRIMSPOOL ON
--


SELECT sql_id, sql_text
,disk_reads, cpu_time cpu_seconds, elapsed_time, buffer_gets, parsing_schema_name
FROM table(
DBMS_SQLTUNE.SELECT_WORKLOAD_REPOSITORY(
 begin_snap => &begin_snap
,end_snap => &end_snap
,basic_filter => 'parsing_schema_name <> ''SYS'''
,ranking_measure1 => 'cpu_time'
,result_limit => 10
));



************************************************************
3.ʹÓÃAWRÖиß×ÊÔ´ÏûºÄµÄSQLÀ´Ìî³äÓÅ»¯¼¯:
************************************************************





---3.1н¨STS


BEGIN
  DBMS_SQLTUNE.CREATE_SQLSET(
    sqlset_name => 'OCPYANG_STS', 
    sqlset_owner => 'SCOTT',
    description  => 'ocpyangtest');
END;
/

---3.2²é¿´AWR¿ìÕÕÆðÖ¹

select snap_id, begin_interval_time
from dba_hist_snapshot order by 1;

---3.3ʹÓÃAWRÖиß×ÊÔ´µÄsqlÀ´Ìî³äsqlÓÅ»¯¼¯

DECLARE
  test_cur dbms_sqltune.sqlset_cursor;
BEGIN
  OPEN test_cur FOR
    SELECT value(x)
    FROM table(dbms_sqltune.select_workload_repository(
      820,841, null, null,'disk_reads',
      null, null, null, 15)) x;
  --
  dbms_sqltune.load_sqlset(
   sqlset_owner =>'SCOTT',
    sqlset_name => 'OCPYANG_STS',
    populate_cursor => test_cur);
END;
/

*------------------³£¼û´íÎó

µÚ 1 ÐгöÏÖ´íÎó:
ORA-13774: ȨÏÞ²»×ã, ÎÞ·¨´Ó¹¤×÷Á¿×ÊÁϵµ°¸¿âÖÐÑ¡ÔñÊý¾Ý ORA-06512: ÔÚ
"SYS.DBMS_SQLTUNE", line 4715
ORA-06512: ÔÚ line 10

ʹÓÃsysÕË»§¼´¿É£¬ÔÚDBMS_SQLTUNE.LOAD_SQLSETÖ¸¶¨sqlset_owner


DBMS_SQLTUNE.LOAD_SQLSET (
   sqlset_name       IN  VARCHAR2,
   populate_cursor   IN  sqlset_cursor,
   load_option       IN VARCHAR2 := 'INSERT', 
   update_option     IN VARCHAR2 := 'REPLACE', 
   update_condition  IN VARCHAR2 :=  NULL,
   update_attributes IN VARCHAR2 :=  NULL,
   ignore_null       IN BOOLEAN  :=  TRUE,
   commit_rows       IN POSITIVE :=  NULL,
   sqlset_owner      IN VARCHAR2 := NULL);
--------------------
Ê×Ò³ ÉÏÒ»Ò³ 1 2 3 4 ÏÂÒ»Ò³ βҳ 1/4/4
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºError in invoking target 'c.. ÏÂһƪ£ºÍ¨¹ýÃüÁî´´½¨oracle11GÊý¾Ý¿â

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)