Dba file use 7

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (inventaire fichiers, historique Oracle7/8)
Voir aussi Dba file use · Dba file space usage 7

Dba_file_use_7 est la variante historique de Dba file use pour Oracle7 et Oracle8 : même principe d'inventaire (fichiers de données, redo logs, fichiers de contrôle, ifile, archivage), mais sans la section tempfiles, puisque les tablespaces temporaires « vrais » n'existaient pas encore à cette époque (le tri utilisait un tablespace temporaire classique, mêlé aux fichiers de données).

Exécutable sur des versions plus récentes, mais incomplet sur ce point par rapport à Dba file use — à réserver au maintien d'un existant Oracle7/8 ou à titre de référence historique.

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   : Inventaire des fichiers (Oracle7/8)                        |
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 db NEW_VALUE xdb NOPRINT FORMAT a1

COLUMN type       FORMAT a8                 HEADING 'Type'
COLUMN tablespace FORMAT a30                HEADING 'Tablespace'
COLUMN filename   FORMAT a55                HEADING 'Fichier'
COLUMN filesize   FORMAT 9,999,999,999,999  HEADING 'Taille'
COLUMN stat       FORMAT a10                HEADING 'Statut'
COLUMN seq        FORMAT 9999               HEADING 'Séquence'
COLUMN arc        FORMAT a4                 HEADING 'Archivé'

SET TERMOUT OFF
SELECT name db FROM v$database;
SET TERMOUT ON

SELECT
    'Data'                        type
  , tablespace_name               tablespace
  , REPLACE(file_name, '?', '&xdb') filename
  , bytes                         filesize
  , DECODE(status, 'AVAILABLE', 'Disponible', 'INVALID', 'Invalide', '****') stat
  , 0                             seq
  , ''                            arc
FROM dba_data_files
UNION
SELECT
    'Redo'
  , 'Grp ' || a.group#
  , member
  , bytes
  , DECODE(b.status, 'CURRENT', 'Courant', 'INACTIVE', 'Inactif', 'UNUSED', 'Non utilisé', '****')
  , sequence#
  , archived
FROM
    v$logfile a
  , v$log     b
WHERE
    a.group# = b.group#
UNION
SELECT
    'Parm'
  , 'Ctrl 1'
  , REPLACE(NVL(LTRIM(SUBSTR(value, 1, INSTR(value || ',', ',', 1, 1) - 1)), '  (aucun)'),
    '?', '&xdb') file_name
  , 0
  , ''
  , 0
  , ''
FROM v$parameter
WHERE name = 'control_files'
UNION
SELECT
    'Parm'
  , 'Ctrl 2'
  , REPLACE(NVL(LTRIM(SUBSTR(value, INSTR(value || ',', ',', 1, 1) + 1,
    INSTR(value || ',', ',', 1, 2) - INSTR(value || ',', ',', 1, 1) - 1)), '  (aucun)'),
    '?', '&xdb') file_name
  , 0
  , ''
  , 0
  , ''
FROM v$parameter
WHERE name = 'control_files'
UNION
SELECT
    'Parm'
  , 'Ctrl 3'
  , REPLACE(NVL(LTRIM(SUBSTR(value, INSTR(value || ',', ',', 1, 2) + 1,
    INSTR(value || ',', ',', 1, 3) - INSTR(value || ',', ',', 1, 2) - 1)), '  (aucun)'),
    '?', '&xdb') file_name
  , 0
  , ''
  , 0
  , ''
FROM v$parameter
WHERE name = 'control_files'
UNION
SELECT
    'Parm'
  , 'Ctrl 4'
  , REPLACE(NVL(LTRIM(SUBSTR(value, INSTR(value || ',', ',', 1, 3) + 1,
    INSTR(value || ',', ',', 1, 4) - INSTR(value || ',', ',', 1, 3) - 1)), '  (aucun)'),
    '?', '&xdb') file_name
  , 0
  , ''
  , 0
  , ''
FROM v$parameter
WHERE name = 'control_files'
UNION
SELECT
    'Parm'
  , 'Ifile'
  , REPLACE(value, '?', '&xdb') file_name
  , 0
  , ''
  , 0
  , ''
FROM v$parameter
WHERE name = 'ifile'
UNION
SELECT
    'Parm'
  , 'Archive'
  , DECODE(d.log_mode, 'ARCHIVELOG',
                       REPLACE(p.value, '?', '&xdb') || ' - ACTIVE',
                       REPLACE(p.value, '?', '&xdb') || ' - Désactivé') file_name
  , 0
  , ''
  , 0
  , ''
FROM
    v$parameter p
  , v$database  d
WHERE
    p.name = 'log_archive_dest'
ORDER BY 1, 2, 3
/

Colonnes / sortie

Identiques à Dba file use, à l'exception de la ligne Tempfile qui n'existe pas ici (pas de vrais tempfiles sous Oracle7/8).

Voir aussi