Perf log switch history bytes daily all
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic |
| Domaine | Performance |
| Voir aussi | Perf log switch history count daily · Perf log switch history count daily all |
Perf log switch history bytes daily all affiche le volume de redo généré (en Mo), heure par heure et jour par jour, à partir de tous les enregistrements archivés présents dans v$archived_log. C'est la variante « volume » de la famille des scripts de profil de log switch — voir Perf log switch history count daily pour la variante « nombre de switches ».
Cette famille compte quatre scripts qui se distinguent sur deux axes :
| Script | Mesure | Période | Compatibilité |
|---|---|---|---|
| Perf log switch history bytes daily all | Volume (Mo) | Tout l'historique disponible | Oracle 8+ |
| Perf log switch history count daily | Nombre de switches | Plage de dates saisie | Oracle 8+ |
| Perf log switch history count daily 7 | Nombre de switches | Plage de dates saisie | Oracle 7 |
| Perf log switch history count daily all | Nombre de switches | Tout l'historique disponible | Oracle 8+ |
Script
SET LINESIZE 250
SET PAGESIZE 9999
SET TRIMSPOOL ON
SET VERIFY OFF
COLUMN H00 FORMAT 99,999 HEADING '00'
COLUMN H01 FORMAT 99,999 HEADING '01'
COLUMN H02 FORMAT 99,999 HEADING '02'
COLUMN H03 FORMAT 99,999 HEADING '03'
COLUMN H04 FORMAT 99,999 HEADING '04'
COLUMN H05 FORMAT 99,999 HEADING '05'
COLUMN H06 FORMAT 99,999 HEADING '06'
COLUMN H07 FORMAT 99,999 HEADING '07'
COLUMN H08 FORMAT 99,999 HEADING '08'
COLUMN H09 FORMAT 99,999 HEADING '09'
COLUMN H10 FORMAT 99,999 HEADING '10'
COLUMN H11 FORMAT 99,999 HEADING '11'
COLUMN H12 FORMAT 99,999 HEADING '12'
COLUMN H13 FORMAT 99,999 HEADING '13'
COLUMN H14 FORMAT 99,999 HEADING '14'
COLUMN H15 FORMAT 99,999 HEADING '15'
COLUMN H16 FORMAT 99,999 HEADING '16'
COLUMN H17 FORMAT 99,999 HEADING '17'
COLUMN H18 FORMAT 99,999 HEADING '18'
COLUMN H19 FORMAT 99,999 HEADING '19'
COLUMN H20 FORMAT 99,999 HEADING '20'
COLUMN H21 FORMAT 99,999 HEADING '21'
COLUMN H22 FORMAT 99,999 HEADING '22'
COLUMN H23 FORMAT 99,999 HEADING '23'
COLUMN TOTAL FORMAT 999,999 HEADING 'Total'
SELECT
SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'), 1, 5) DAY
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '00', ROUND((blocks*block_size)/1024/1024), 0)) H00
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '01', ROUND((blocks*block_size)/1024/1024), 0)) H01
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '02', ROUND((blocks*block_size)/1024/1024), 0)) H02
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '03', ROUND((blocks*block_size)/1024/1024), 0)) H03
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '04', ROUND((blocks*block_size)/1024/1024), 0)) H04
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '05', ROUND((blocks*block_size)/1024/1024), 0)) H05
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '06', ROUND((blocks*block_size)/1024/1024), 0)) H06
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '07', ROUND((blocks*block_size)/1024/1024), 0)) H07
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '08', ROUND((blocks*block_size)/1024/1024), 0)) H08
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '09', ROUND((blocks*block_size)/1024/1024), 0)) H09
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '10', ROUND((blocks*block_size)/1024/1024), 0)) H10
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '11', ROUND((blocks*block_size)/1024/1024), 0)) H11
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '12', ROUND((blocks*block_size)/1024/1024), 0)) H12
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '13', ROUND((blocks*block_size)/1024/1024), 0)) H13
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '14', ROUND((blocks*block_size)/1024/1024), 0)) H14
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '15', ROUND((blocks*block_size)/1024/1024), 0)) H15
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '16', ROUND((blocks*block_size)/1024/1024), 0)) H16
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '17', ROUND((blocks*block_size)/1024/1024), 0)) H17
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '18', ROUND((blocks*block_size)/1024/1024), 0)) H18
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '19', ROUND((blocks*block_size)/1024/1024), 0)) H19
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '20', ROUND((blocks*block_size)/1024/1024), 0)) H20
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '21', ROUND((blocks*block_size)/1024/1024), 0)) H21
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '22', ROUND((blocks*block_size)/1024/1024), 0)) H22
, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'), 10, 2), '23', ROUND((blocks*block_size)/1024/1024), 0)) H23
, ROUND(SUM((blocks*block_size)/1024/1024)) TOTAL
FROM
v$archived_log a
GROUP BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'), 1, 5)
ORDER BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'), 1, 5)
/
Interprétation
- Le pivot heure/jour permet de repérer un profil de charge (ex. pic de redo pendant une fenêtre de batch nocturne) et de dimensionner en conséquence la taille et le nombre des groupes de redo logs, ainsi que la bande passante d'archivage.
- Aucun filtre de date n'est appliqué (contrairement à Perf log switch history count daily) : sur une base avec un historique d'archives long, la requête peut retourner un volume de lignes important — ajouter un filtre
WHERE first_time >= TRUNC(SYSDATE) - Nsi seule une fenêtre récente est utile. - Une croissance continue du volume horaire sans changement fonctionnel correspondant mérite d'être creusée (job mal indexé générant du redo inutile, PURGE manquant, etc.).
Voir aussi
- Perf log switch history count daily — même famille, nombre de switches plutôt que volume, sur une plage de dates.
- Perf log switch history count daily all — nombre de switches sur tout l'historique.
- Perf log switch history count daily 7 — équivalent nombre de switches pour Oracle 7.
- Perf redo log contention — diagnostic de contention sur les latches de redo.