2026-03-12 20:23:15

This commit is contained in:
root
2026-03-12 21:23:47 +01:00
parent eab4b36eca
commit 93039b8489
3332 changed files with 699614 additions and 0 deletions

View File

@@ -0,0 +1,269 @@
@@&&cs_set_container_to_cdb_root.
--
COL uom FOR A6;
COL value FOR 999,999,990.0;
COL threshold_violation_factor FOR 999,990.0 HEA 'VIOLATION|FACTOR';
COL message FOR A200 TRUNC;
--
PRO
PRO HC SQL - ALERTS for past &&cs_me_days. days (&&cs_stgtab_owner..alerts_hist)
PRO ~~~~~~~~~~~~~~~
--
SELECT snap_time AS alert_time,
alert_type||CASE WHEN severity IS NOT NULL THEN ' ['||severity||'] ' END||key_value AS message,
threshold_violation_factor
FROM &&cs_stgtab_owner..alerts_hist
WHERE '&&cs_con_name.' IN (pdb_name, 'CDB$ROOT')
AND sql_id = '&&cs_sql_id.'
AND snap_time > SYSDATE - &&cs_me_days.
ORDER BY
alert_time,
alert_type
/
--
COL sql_exec_start FOR A19;
COL sql_exec_id FOR 99999999999;
COL sql_plan_hash_value FOR 9999999999 HEA 'PLAN|HASH_VALUE';
COL sql_plan_line_id FOR 99999 HEA 'PLAN|LINE';
COL last_update_time FOR A19;
COL elapsed_seconds FOR 999,990 HEA 'ELAPSED|SECONDS';
COL sid FOR 99999;
COL serial# FOR 9999999;
COL elapsed_seconds_threshold FOR 999,990 HEA 'SECONDS|THRESHOLD';
COL times_threshold FOR 999,990.0 HEA 'ELAPSED|FACTOR';
COL pdb_name FOR A30 TRUNC;
COL source FOR A6;
COL top FOR 990;
--
PRO
PRO HC SQL - LONG EXECUTIONS top &&cs_me_top. and last &&cs_me_last. for past &&cs_me_days. days (&&cs_stgtab_owner..longexecs_hist_v1)
PRO ~~~~~~~~~~~~~~~~~~~~~~~~
--
WITH
snaps AS (
SELECT sql_exec_start,
sql_exec_id,
sql_plan_hash_value,
sql_plan_line_id,
last_update_time,
elapsed_seconds,
elapsed_seconds_threshold,
times_threshold,
source,
pdb_name,
sid,
serial#,
ROW_NUMBER() OVER (ORDER BY sql_exec_start DESC, sql_exec_id DESC, last_update_time DESC) AS rn1,
ROW_NUMBER() OVER (ORDER BY elapsed_seconds DESC, times_threshold DESC) AS rn2,
ROW_NUMBER() OVER (ORDER BY times_threshold DESC, elapsed_seconds DESC) AS rn3
FROM &&cs_stgtab_owner..longexecs_hist_v1
WHERE '&&cs_con_name.' IN (pdb_name, 'CDB$ROOT')
AND sql_id = '&&cs_sql_id.'
AND sql_exec_start > SYSDATE - &&cs_me_days.
)
SELECT sql_exec_start,
CASE WHEN rn2 <= &&cs_me_top. THEN rn2 END AS top,
sql_exec_id,
sql_plan_hash_value,
sql_plan_line_id,
last_update_time,
elapsed_seconds,
elapsed_seconds_threshold,
times_threshold,
source,
pdb_name,
sid,
serial#
FROM snaps
WHERE rn1 <= &&cs_me_last.
OR rn2 <= &&cs_me_top.
OR rn3 <= &&cs_me_top.
ORDER BY
sql_exec_start,
sql_exec_id
/
--
COL snap_time FOR A19;
COL awr_snapshot_end_time FOR A19 HEA 'AWR_SNAP_ENDTIME';
COL db_secs_per_exec_delta FOR 999,990.0 HEA 'SECONDS|PER_EXEC';
COL threshold_violation_factor FOR 999,990.0 HEA 'REGRESSION|FACTOR';
COL db_time_regression_01d FOR 999,990.0 HEA 'DB_TIME|REGR_01d|FACTOR';
COL db_time_regression_07d FOR 999,990.0 HEA 'DB_TIME|REGR_07d|FACTOR';
COL db_time_regression_30d FOR 999,990.0 HEA 'DB_TIME|REGR_30d|FACTOR';
COL db_time_regression_60d FOR 999,990.0 HEA 'DB_TIME|REGR_60d|FACTOR';
COL cpu_time_regression_01d FOR 999,990.0 HEA 'CPU_TIME|REGR_01d|FACTOR';
COL cpu_time_regression_07d FOR 999,990.0 HEA 'CPU_TIME|REGR_07d|FACTOR';
COL cpu_time_regression_30d FOR 999,990.0 HEA 'CPU_TIME|REGR_30d|FACTOR';
COL cpu_time_regression_60d FOR 999,990.0 HEA 'CPU_TIME|REGR_60d|FACTOR';
COL pdb_name FOR A30 TRUNC;
COL top FOR 990;
COL dummy FOR A2 HEA '';
--
PRO
PRO HC SQL - PERFORMANCE REGRESSION top &&cs_me_top. and last &&cs_me_last. for past &&cs_me_days. days (&&cs_stgtab_owner..regress_hist)
PRO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
WITH
snaps AS (
SELECT snap_time,
GREATEST(db_time_regression_01d, db_time_regression_07d, db_time_regression_30d, db_time_regression_60d, cpu_time_regression_01d, cpu_time_regression_07d, cpu_time_regression_30d, cpu_time_regression_60d) AS threshold_violation_factor,
db_time_regression_01d,
db_time_regression_07d,
db_time_regression_30d,
db_time_regression_60d,
cpu_time_regression_01d,
cpu_time_regression_07d,
cpu_time_regression_30d,
cpu_time_regression_60d,
pdb_name,
db_secs_per_exec_delta,
awr_snapshot_end_time,
ROW_NUMBER() OVER (ORDER BY snap_time DESC, pdb_name) AS rn1,
ROW_NUMBER() OVER (ORDER BY GREATEST(db_time_regression_01d, db_time_regression_07d, db_time_regression_30d, db_time_regression_60d, cpu_time_regression_01d, cpu_time_regression_07d, cpu_time_regression_30d, cpu_time_regression_60d) DESC, db_secs_per_exec_delta DESC) AS rn2
FROM &&cs_stgtab_owner..regress_hist
WHERE '&&cs_con_name.' IN (pdb_name, 'CDB$ROOT')
AND sql_id = '&&cs_sql_id.'
AND snap_time > SYSDATE - &&cs_me_days.
)
SELECT snap_time,
CASE WHEN rn2 <= &&cs_me_top. THEN rn2 END AS top,
threshold_violation_factor,
db_time_regression_01d,
CASE WHEN db_time_regression_01d = threshold_violation_factor THEN '<-' END AS dummy,
db_time_regression_07d,
CASE WHEN db_time_regression_07d = threshold_violation_factor THEN '<-' END AS dummy,
db_time_regression_30d,
CASE WHEN db_time_regression_30d = threshold_violation_factor THEN '<-' END AS dummy,
db_time_regression_60d,
CASE WHEN db_time_regression_60d = threshold_violation_factor THEN '<-' END AS dummy,
cpu_time_regression_01d,
CASE WHEN cpu_time_regression_01d = threshold_violation_factor THEN '<-' END AS dummy,
cpu_time_regression_07d,
CASE WHEN cpu_time_regression_07d = threshold_violation_factor THEN '<-' END AS dummy,
cpu_time_regression_30d,
CASE WHEN cpu_time_regression_30d = threshold_violation_factor THEN '<-' END AS dummy,
cpu_time_regression_60d,
CASE WHEN cpu_time_regression_60d = threshold_violation_factor THEN '<-' END AS dummy,
pdb_name,
awr_snapshot_end_time
FROM snaps
WHERE rn1 <= &&cs_me_last.
OR rn2 <= &&cs_me_top.
ORDER BY
snap_time,
pdb_name
/
--
COL snap_time FOR A19;
COL aas_tot FOR 999,990.0 HEA 'AAS|ON_DB';
COL aas_tot_threshold FOR 999,990.0 HEA 'AAS_ON_DB|THRESHOLD';
COL tot_times_threshold FOR 999,990.0 HEA 'AAS_ON_DB|FACTOR';
COL aas_cpu FOR 999,990.0 HEA 'AAS|ON_CPU';
COL aas_cpu_threshold FOR 999,990.0 HEA 'AAS_ON_CPU|THRESHOLD';
COL cpu_times_threshold FOR 999,990.0 HEA 'AAS_ON_CPU|FACTOR';
COL max_as_tot FOR 9,999,990 HEA 'MAX_CONC|SESSIONS|ON_DB';
COL max_as_cpu FOR 9,999,990 HEA 'MAX_CONC|SESSIONS|ON_CPU';
COL pdb_name FOR A30 TRUNC;
COL username FOR A30 TRUNC;
COL top FOR 990;
COL dummy FOR A2 HEA '';
--
PRO
PRO HC SQL - HIGH AVERAGE ACTIVE SESSIONS (AAS) top &&cs_me_top. and last &&cs_me_last. for past &&cs_me_days. days (&&cs_stgtab_owner..highaas_hist)
PRO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
WITH
snaps AS (
SELECT snap_time,
aas_tot,
aas_tot_threshold,
tot_times_threshold,
aas_cpu,
aas_cpu_threshold,
cpu_times_threshold,
max_as_tot,
max_as_cpu,
pdb_name,
username,
ROW_NUMBER() OVER (ORDER BY snap_time DESC, pdb_name) AS rn1,
ROW_NUMBER() OVER (ORDER BY aas_tot DESC, aas_cpu DESC, max_as_tot DESC, max_as_cpu DESC) AS rn2,
ROW_NUMBER() OVER (ORDER BY aas_cpu DESC, aas_tot DESC, max_as_cpu DESC, max_as_tot DESC) AS rn3
FROM &&cs_stgtab_owner..highaas_hist
WHERE '&&cs_con_name.' IN (pdb_name, 'CDB$ROOT')
AND sql_id = '&&cs_sql_id.'
AND snap_time > SYSDATE - &&cs_me_days.
)
SELECT snap_time,
CASE WHEN rn2 <= &&cs_me_top. THEN rn2 END AS top,
aas_tot,
aas_tot_threshold,
tot_times_threshold,
CASE WHEN tot_times_threshold > aas_tot_threshold AND rn2 <= &&cs_me_top. THEN '<-' END AS dummy,
aas_cpu,
aas_cpu_threshold,
cpu_times_threshold,
CASE WHEN cpu_times_threshold > aas_cpu_threshold AND rn3 <= &&cs_me_top. THEN '<-' END AS dummy,
max_as_tot,
max_as_cpu,
pdb_name,
username
FROM snaps
WHERE rn1 <= &&cs_me_last.
OR rn2 <= &&cs_me_top.
OR rn3 <= &&cs_me_top.
ORDER BY
snap_time,
pdb_name,
username
/
--
COL snap_time FOR A19;
COL ms_per_execution FOR 999,999,990 HEA 'MILLISECS|PER_EXEC';
COL ms_per_exec_threshold FOR 999,999,990 HEA 'MS_PE|THRESHOLD';
COL aas_tot FOR 999,990.0 HEA 'AAS|ON_DB';
COL aas_tot_threshold FOR 999,990.0 HEA 'AAS_ON_DB|THRESHOLD';
COL pdb_name FOR A30 TRUNC;
COL top FOR 990;
COL dummy FOR A2 HEA '';
--
PRO
PRO HC SQL - NON SCALABLE PLANS top &&cs_me_top. and last &&cs_me_last. for past &&cs_me_days. days (&&cs_stgtab_owner..non_scalable_plan_hist)
PRO ~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
WITH
snaps AS (
SELECT snap_time,
plan_hash_value,
ms_per_execution,
ms_per_exec_threshold,
aas_tot,
aas_tot_threshold,
pdb_name,
ROW_NUMBER() OVER (ORDER BY snap_time DESC, pdb_name) AS rn1,
ROW_NUMBER() OVER (ORDER BY ms_per_execution DESC, aas_tot DESC) AS rn2,
ROW_NUMBER() OVER (ORDER BY aas_tot DESC, ms_per_execution DESC) AS rn3
FROM &&cs_stgtab_owner..non_scalable_plan_hist
WHERE '&&cs_con_name.' IN (pdb_name, 'CDB$ROOT')
AND sql_id = '&&cs_sql_id.'
AND snap_time > SYSDATE - &&cs_me_days.
)
SELECT snap_time,
CASE WHEN rn2 <= &&cs_me_top. THEN rn2 END AS top,
plan_hash_value,
ms_per_execution,
ms_per_exec_threshold,
CASE WHEN ms_per_execution > ms_per_exec_threshold AND rn2 <= &&cs_me_top. THEN '<-' END AS dummy,
aas_tot,
aas_tot_threshold,
CASE WHEN aas_tot > aas_tot_threshold AND rn3 <= &&cs_me_top. THEN '<-' END AS dummy,
pdb_name
FROM snaps
WHERE rn1 <= &&cs_me_last.
OR rn2 <= &&cs_me_top.
OR rn3 <= &&cs_me_top.
ORDER BY
snap_time,
pdb_name
/
--
@@&&cs_set_container_to_curr_pdb.