Dba files all

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (fichiers de données)
Voir aussi Dba file · Dba file use · Dba controlfiles

Dba_files_all étend Dba file en ajoutant, dans le même rapport, les fichiers redo log en ligne et les fichiers de contrôle : il donne donc l'inventaire complet des fichiers physiques qui composent une base Oracle (données, temporaires, redo, contrôle), toutes catégories mélangées et triées.

Pratique pour un état des lieux de stockage en une seule requête, par exemple avant une migration de disques ou un dimensionnement de sauvegarde.

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   : Fichiers physiques (données, temp, redo, 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 tablespace     FORMAT a30               HEADING 'Tablespace / catégorie'
COLUMN filename       FORMAT a75               HEADING 'Fichier'
COLUMN filesize       FORMAT 9,999,999,999,999 HEADING 'Taille'
COLUMN autoextensible FORMAT a4                HEADING 'Auto'
COLUMN increment_by   FORMAT 999,999,999,999   HEADING 'Pas'
COLUMN maxbytes       FORMAT 999,999,999,999   HEADING 'Max'

BREAK ON report

COMPUTE sum OF filesize ON report

SELECT /*+ ordered */
    d.tablespace_name        tablespace
  , d.file_name              filename
  , d.bytes                  filesize
  , d.autoextensible         autoextensible
  , d.increment_by * e.value increment_by
  , d.maxbytes               maxbytes
FROM
    dba_data_files d
  , v$datafile     v
  , (SELECT value FROM v$parameter WHERE name = 'db_block_size') e
WHERE
    d.file_name = v.name
UNION
SELECT
    d.tablespace_name        tablespace
  , d.file_name              filename
  , d.bytes                  filesize
  , d.autoextensible         autoextensible
  , d.increment_by * e.value increment_by
  , d.maxbytes               maxbytes
FROM
    dba_temp_files d
  , (SELECT value FROM v$parameter WHERE name = 'db_block_size') e
UNION
SELECT
    '[ REDO LOG EN LIGNE ]'
  , a.member
  , b.bytes
  , NULL
  , TO_NUMBER(NULL)
  , TO_NUMBER(NULL)
FROM
    v$logfile a
  , v$log     b
WHERE
    a.group# = b.group#
UNION
SELECT
    '[ FICHIER DE CONTROLE ]'
  , a.name
  , TO_NUMBER(NULL)
  , NULL
  , TO_NUMBER(NULL)
  , TO_NUMBER(NULL)
FROM
    v$controlfile a
ORDER BY
    1, 2
/

Colonnes / sortie

  • Tablespace / catégorie : nom du tablespace pour les fichiers de données/temporaires, ou une étiquette entre crochets ([ REDO LOG EN LIGNE ], [ FICHIER DE CONTROLE ]) pour les autres catégories.
  • Pour les redo logs et fichiers de contrôle, les colonnes de dimensionnement (Auto/Pas/Max) sont sans objet (NULL).

Voir aussi

  • Dba file — version restreinte aux fichiers de données/temporaires uniquement.
  • Dba file use — même périmètre mais avec statut/état de chaque fichier plutôt que la taille.
  • Dba controlfiles — détail dédié aux fichiers de contrôle.