Advertisement
tmmdv

Historical SQL Monitor

Oct 3rd, 2017
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.99 KB | None | 0 0
  1. SET long 1000000 linesize 4000 pagesize 0 head off feed off echo off termout off
  2. repheader off
  3.  
  4. var sql_id varchar2(13)
  5. EXEC :sql_id := '&1'
  6.  
  7. col rep_name        new_value       rep_name
  8. SELECT '/tmp/sqlmon_' || :sql_id rep_name FROM dual;
  9. col SQL_report format a300
  10.  
  11. spool &rep_name..txt
  12. SELECT DBMS_AUTO_REPORT.REPORT_REPOSITORY_DETAIL(RID => report_id, TYPE => 'text') SQL_report FROM
  13. (
  14. SELECT * FROM
  15. (
  16. SELECT report_id,
  17.        EXTRACTVALUE(XMLType(report_summary),'/report_repository_summary/sql/@sql_id') sql_id,
  18.        to_number(EXTRACTVALUE(XMLType(report_summary),'/report_repository_summary/sql/stats/stat[@name=''elapsed_time'']')) elapsed_time,
  19.        period_start_time
  20.   FROM dba_hist_reports
  21.  WHERE component_name = 'sqlmonitor'
  22. )
  23. WHERE sql_id = :sql_id AND period_start_time > sysdate - 5
  24. ORDER BY elapsed_time DESC NULLS LAST
  25. fetch FIRST 1 ROWS ONLY);
  26. spool off
  27.  
  28. host less -S &rep_name..txt
  29.  
  30. SET long 1000000 linesize 300 pagesize 200 head ON feed ON echo ON termout ON
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement