2026-03-12 21:01:38
This commit is contained in:
60
tiddlywiki/Oracle - SQL Quarantine - example.md
Executable file
60
tiddlywiki/Oracle - SQL Quarantine - example.md
Executable file
@@ -0,0 +1,60 @@
|
||||
> [Original article](https://oracle-base.com/articles/19c/sql-quarantine-19c)
|
||||
|
||||
|
||||
|
||||
We can manually quarantine a statement based on SQL_ID or SQL_TEXT.
|
||||
Both methods accept a PLAN_HASH_VALUE parameter, which allows us to quarantine a single execution plan.
|
||||
If this is not specified, all execution plans for the statement are quarantined.
|
||||
|
||||
|
||||
-- Quarantine all execution plans for a SQL_ID.
|
||||
DECLARE
|
||||
l_sql_quarantine VARCHAR2(100);
|
||||
BEGIN
|
||||
l_sql_quarantine := sys.DBMS_SQLQ.create_quarantine_by_sql_id(
|
||||
sql_id => 'gs59hr0xtjrf8'
|
||||
);
|
||||
DBMS_OUTPUT.put_line('l_sql_quarantine=' || l_sql_quarantine);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
SQL quarantine display:
|
||||
|
||||
set lines 256
|
||||
COLUMN sql_text FORMAT A50 TRUNC
|
||||
COLUMN plan_hash_value FORMAT 999999999999
|
||||
COLUMN name FORMAT A30
|
||||
COLUMN enabled FORMAT A3 HEAD "Ena"
|
||||
COLUMN cpu_time FORMAT A10
|
||||
COLUMN io_megabytes FORMAT A10
|
||||
COLUMN io_requests FORMAT A10
|
||||
COLUMN elapsed_time FORMAT A10
|
||||
COLUMN io_logical FORMAT A10
|
||||
|
||||
select
|
||||
name, enabled,cpu_time, io_megabytes, io_requests, elapsed_time, io_logical, plan_hash_value, sql_text
|
||||
from
|
||||
dba_sql_quarantine;
|
||||
|
||||
|
||||
The ALTER_QUARANTINE procedure allows us to alter the thresholds, to make them look more like automatically generated quarantines.
|
||||
We can use the procedure to alter the following parameters:
|
||||
|
||||
- CPU_TIME
|
||||
- ELAPSED_TIME
|
||||
- IO_MEGABYTES
|
||||
- IO_REQUESTS
|
||||
- IO_LOGICAL
|
||||
- ENABLED
|
||||
- AUTOPURGE
|
||||
|
||||
Example of setting the CPU_TIME threshold for the manually created quarantines:
|
||||
|
||||
BEGIN
|
||||
DBMS_SQLQ.alter_quarantine(
|
||||
quarantine_name => 'SQL_QUARANTINE_8zpc9pwdmb8vr',
|
||||
parameter_name => 'CPU_TIME',
|
||||
parameter_value => '1');
|
||||
END;
|
||||
/
|
||||
Reference in New Issue
Block a user