Dba controlfile records

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (fichiers de contrôle)
Voir aussi Dba controlfiles · Dba cr init

Dba_controlfile_records détaille, pour chaque type de section interne du fichier de contrôle (datafiles, fichiers de log, tablespaces, sauvegardes RMAN, historique d'archivage...), le nombre d'enregistrements alloués et utilisés. Il s'appuie sur la vue dynamique V$CONTROLFILE_RECORD_SECTION.

Ce script permet de repérer si une section approche de sa capacité (paramètre CONTROL_FILE_RECORD_KEEP_TIME trop élevé, historique RMAN trop volumineux, etc.), ce qui peut faire grossir le fichier de contrôle ou provoquer des erreurs lors d'opérations RMAN.

Script

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Rapport   : Sections du fichier de contrôle                            |
PROMPT | Instance  : &current_instance                                         |
PROMPT +------------------------------------------------------------------------+

SET ECHO      OFF
SET FEEDBACK  6
SET HEADING   ON
SET LINESIZE  180
SET PAGESIZE  50000
SET VERIFY    OFF

CLEAR COLUMNS
CLEAR BREAKS
CLEAR COMPUTES

COLUMN type          FORMAT a30        HEADING 'Type de section'
COLUMN record_size   FORMAT 999,999    HEADING 'Taille enreg.|(octets)'
COLUMN records_total FORMAT 999,999    HEADING 'Enreg. alloués'
COLUMN bytes_alloc   FORMAT 999,999,999 HEADING 'Octets alloués'
COLUMN records_used  FORMAT 999,999    HEADING 'Enreg. utilisés'
COLUMN bytes_used    FORMAT 999,999,999 HEADING 'Octets utilisés'
COLUMN pct_used      FORMAT B999        HEADING '% Utilisé'
COLUMN first_index                      HEADING 'Index début'
COLUMN last_index                       HEADING 'Index fin'
COLUMN last_recid                       HEADING 'Dernier RecID'

BREAK ON report

COMPUTE sum OF records_total ON report
COMPUTE sum OF bytes_alloc   ON report
COMPUTE sum OF records_used  ON report
COMPUTE sum OF bytes_used    ON report
COMPUTE avg OF pct_used      ON report

SELECT
    type
  , record_size
  , records_total
  , (records_total * record_size) bytes_alloc
  , records_used
  , (records_used * record_size) bytes_used
  , NVL(records_used / records_total * 100, 0) pct_used
  , first_index
  , last_index
  , last_recid
FROM
    v$controlfile_record_section
ORDER BY
    type
/

Colonnes / sortie

  • Type de section : nature de la section (DATAFILE, REDO LOG, RMAN STATUS, BACKUP CORRUPTION, ARCHIVED LOG, etc.).
  • % Utilisé : proportion d'enregistrements réellement utilisés par rapport à la capacité allouée — une section proche de 100% peut nécessiter une purge (RMAN CROSSCHECK/DELETE EXPIRED) ou un ajustement de rétention.

Voir aussi

  • Dba controlfiles — liste les fichiers de contrôle physiques de l'instance.
  • Dba cr init — génère un fichier init.ora d'exemple à partir des paramètres courants.