-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathquarantine.sql
43 lines (39 loc) · 1.2 KB
/
quarantine.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
REM quarantine.sql
REM Quarantine a specific execution plan for a SQL_ID.
REM requires: GRANT ADMINISTER SQL MANAGEMENT OBJECT TO psadmin;
spool quarantine
DECLARE
e_invalid_sql_id EXCEPTION;
PRAGMA EXCEPTION_INIT(e_invalid_sql_id ,-56975);
l_sql_id VARCHAR2(13) := '&sql_id';
l_sql_text CLOB;
l_sql_quarantine VARCHAR2(100);
BEGIN
BEGIN
l_sql_quarantine := sys.DBMS_SQLQ.create_quarantine_by_sql_id(sql_id => l_sql_id);
EXCEPTION WHEN e_invalid_sql_id THEN
SELECT sql_text
INTO l_sql_text
FROM dba_hist_sqltext
WHERE sql_id = l_sql_id;
l_sql_quarantine := sys.DBMS_SQLQ.create_quarantine_by_sql_text(sql_text => l_sql_text);
END;
DBMS_OUTPUT.put_line('l_sql_quarantine=' || l_sql_quarantine);
END;
/
set long 5000 lines 200 trimspool on
ttitle 'Quarantined SQL'
COLUMN SQL_text format a200 wrap on
column signature format 99999999999999999999
column name format a30
column cpu_time format a19
column io_megabytes format a19
column io_requests format a19
column elapsed_time format a19
column io_logical format a19
SELECT signature, name, plan_hash_value, cpu_time, io_megabytes, io_requests, elapsed_time, io_logical
, sql_text
FROM dba_sql_quarantine
/
ttitle off
spool off