Avant d'exécuter le script suivant, vous devez utiliser le SQL qui génère le rapport AWR (le script du programme est généralement enregistré dans rdbms/admin sous $ORACLE_HOME, nommé awrrpt.sql, et vous devez entrer la plage de jours pour générer l'AWR. rapport) pour trouver les instantanés de début et de fin Numéro : begin_snap et end_snap.
définir la ligne 1000
définir la taille de la ligne 200
définir la taille de la page 2000
définir la longueur 999999
définir l'écho sur
définir le balisage HTML sur
sélectionner res.*
from (select to_char(d.end_interval_time,'yyyy-mm-dd'),
a.PARSING_SCHEMA_NAME,
c.MODULE,
a.sql_id,
a.execs comme nombre d'exécutions,
ROUND (a.cpu_times / a.execs, 2) comme temps d'exécution unique,
a.cpu_times comme temps de consommation du processeur,
ROUND(a.cpu_times / b.sum_time * 100, 2) comme processeur pourcentage de consommation,
a.buffer_gets comme lecture logique,
ROUND(a.buffer_gets / b.sum_buffer * 100, 2) comme pourcentage de lecture logique,
a.disk_read comme lecture physique,
ROUND( a.disk_read / b.sum_disk * 100, 2) comme pourcentage de lecture physique,
c.sql_fulltext
from (sélectionnez PARSING_SCHEMA_NAME,
sql_id,
sum(EXECUTIONS_DELTA) AS execs,
round (sum( CPU_TIME_DELTA) / 1000000, 2) AS cpu_times,
round(sum(ELAPSED_TIME_DELTA) / 1000000, 2) AS temps_écoulé,
sum(BUFFER_GETS_DELTA) AS buffer_gets,
sum(DISK_READS_DELTA) lecture_disque
à partir de sys.WRH$_SQLSTAT wr, gv$instance i
où SNAP_ID <= &end_snap
et snap_id >= &begin_snap
et wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
et i.instance_number = &numéro_instance
groupe par PARSING_SCHEMA_NAME, wr.INSTANCE_NUMBER, sql_id) a,
(SELECT round(SUM(CPU_TIME_DELTA) / 1000000, 2) sum_time,
SUM(BUFFER_GETS_DELTA) sum_buffer,
sum(DISK_READS_D ELTA ) sum_disk
FROM sys.WRH$_SQLSTAT wr, gv$instance i
où SNAP_ID <= &end_snap
et snap_id >= &begin_snap
et wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
et i.instance_number = &instance_number) b,
v$sqlarea c,
dba_hist_snapshot d
où a.execs > 0
et a.sql_id = c.sql_id
et a.PARSING_SCHEMA_NAME < ;> 'SYS'
et d.snap_id = &end_snap
ordre par consommation de temps processeur desc) res
où rownum <41; 🎜>enregistrera le contenu de sortie du script dans le bloc-notes txt et changera le nom du suffixe du bloc-notes en .html, afin que le contenu de la page Web suivante puisse être généré :