Exemples : cas d'emploi SQL
Les exemples de code SQL suivants sont utiles pour analyser les données incluses dans le serveur du hub de référentiel AWR et pour identifier les problèmes potentiels des bases de données source.
Pour se connecter à Autonomous AI Lakehouse avec l'utilisateur que vous venez de créer dans Création d'un utilisateur de base de données d'entrepôt Ops Insights et le portefeuille téléchargé dans Accès au data warehouse Ops Insights, vous devez disposer d'un outil tel qu'Oracle SQL Developer.
Pour plus d'informations sur la connexion à Autonomous AI Lakehouse avec SQL Developer, reportez-vous aux sections suivantes :
- Connexion à Autonomous AI Lakehouse à l'aide de SQL Developer (Vidéo, 3:20)
- Connexion d'Oracle SQL Developer avec un portefeuille (mTLS)
Exemple 9-1 Modifications de plan SQL pour un SQLID sur une base de données unique
select sql_id, plan_hash_value,
sum(EXECUTIONS_DELTA) executions,
sum(ROWS_PROCESSED_delta) crows,
round(sum(CPU_TIME_delta)/1000000/60) cpu_mins,
round(sum(ELAPSED_TIME_delta)/1000000/60) ela_mins
from dba_hist_sqlstat
where SQL_ID=trim('&sqlid')
AND dbid='&dbid'
group by sql_id, plan_hash_value
order by sql_id, cpu_minsExemple 9-2 Modifications de plan SQL pour un SQLID dans plusieurs bases de données source AWR
select ar.source_name source_name, ar.source_awrid dbid, s.sql_id, s.plan_hash_value,
sum(EXECUTIONS_DELTA) executions,
sum(ROWS_PROCESSED_delta) crows,
round(sum(CPU_TIME_delta)/1000000/60) cpu_mins,
round(sum(ELAPSED_TIME_delta)/1000000/60) ela_mins
from dba_hist_sqlstat s, awrhub_registration ar
where s.SQL_ID=trim(:sqlid)
AND s.dbid=ar.source_awrid
and s.dbid in (:dbid1, :dbid2)
AND ar.registration_state = 'ACTIVE'
group by ar.source_name, ar.source_awrid, s.sql_id, s.plan_hash_value
order by s.sql_id, cpu_minsExemple 9-3 Performances SQL passées et actuelles au cours d'une période donnée pour un SQLID sur une base de données unique
SELECT to_char(Min(s.end_interval_time), 'DD-MON-YYYY DY HH24:MI') sample_end,
q.sql_id,
q.plan_hash_value,
Sum(q.executions_delta) executions,
Round(Sum(disk_reads_delta) / greatest(Sum(executions_delta), 1), 1)
pio_per_exec,
Round(Sum(buffer_gets_delta) / greatest(Sum(executions_delta), 1), 1)
lio_per_exec,
Round(( Sum(elapsed_time_delta) / greatest(Sum(executions_delta), 1) /
1000 ), 1
) msec_exec
FROM dba_hist_sqlstat q,
dba_hist_snapshot s
WHERE q.sql_id = trim('&sqlid')
AND s.snap_id = q.snap_id
AND s.dbid = q.dbid
AND s.dbid = '&dbid'
AND s.instance_number = q.instance_number
AND s.end_interval_time >= to_date(trim('&start_time.'),
'dd-mon-yyyy hh24:mi')
AND s.begin_interval_time <= to_date(trim('&end_time.'),
'dd-mon-yyyy hh24:mi')
GROUP BY s.snap_id,
q.sql_id,
q.plan_hash_value
ORDER BY s.snap_id,
q.sql_id,
q.plan_hash_value