ASM files
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic |
| Domaine | ASM – fichiers (11g et +) |
| Voir aussi | ASM files 10g · ASM files2 · ASM alias |
ASM files fournit l'inventaire le plus complet de la bibliothèque : chemin reconstitué de chaque fichier ASM (via les alias, requête hiérarchique) et les volumes ASM Dynamic Volume Manager (ADVM), introduits avec Oracle 11g Release 2. C'est la version à utiliser sur toute instance 11gR2 et plus récente.
Deux variantes existent dans cette bibliothèque pour des besoins plus ciblés : ASM files 10g (même logique sans la partie volumes, pour les instances antérieures à 11gR2) et ASM files2 (version simplifiée, restreinte aux seuls fichiers internes créés par le système).
Script
-- Rapport ASM : inventaire complet des fichiers (alias) + volumes ADVM, Oracle 11g+
SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(SYS_CONTEXT('USERENV', 'INSTANCE_NAME'), 17) current_instance FROM dual;
SET TERMOUT ON
PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Rapport : ASM Files |
PROMPT | Instance : ¤t_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 full_path FORMAT a75 HEAD 'ASM File Name / Volume Name / Device Name'
COLUMN system_created FORMAT a8 HEAD 'System|Created?'
COLUMN bytes FORMAT 9,999,999,999,999 HEAD 'Bytes'
COLUMN space FORMAT 9,999,999,999,999 HEAD 'Space'
COLUMN type FORMAT a18 HEAD 'File Type'
COLUMN redundancy FORMAT a12 HEAD 'Redundancy'
COLUMN striped FORMAT a8 HEAD 'Striped'
COLUMN creation_date FORMAT a20 HEAD 'Creation Date'
COLUMN disk_group_name NOPRINT
BREAK ON report ON disk_group_name SKIP 1
COMPUTE sum LABEL '' OF bytes space ON disk_group_name
COMPUTE sum LABEL 'Grand Total: ' OF bytes space ON report
-- Fichiers (arborescence reconstruite a partir des alias)
SELECT
CONCAT('+' || db_files.disk_group_name, SYS_CONNECT_BY_PATH(db_files.alias_name, '/')) full_path
, db_files.bytes
, db_files.space
, NVL(LPAD(db_files.type, 18), '<DIRECTORY>') type
, db_files.creation_date
, db_files.disk_group_name
, LPAD(db_files.system_created, 4) system_created
FROM
( SELECT
g.name disk_group_name
, a.parent_index pindex
, a.name alias_name
, a.reference_index rindex
, a.system_created system_created
, f.bytes bytes
, f.space space
, f.type type
, TO_CHAR(f.creation_date, 'DD-MON-YYYY HH24:MI:SS') creation_date
FROM
v$asm_file f RIGHT OUTER JOIN v$asm_alias a USING (group_number, file_number)
JOIN v$asm_diskgroup g USING (group_number)
) db_files
WHERE
db_files.type IS NOT NULL
START WITH
(MOD(db_files.pindex, POWER(2, 24))) = 0
CONNECT BY
PRIOR db_files.rindex = db_files.pindex
UNION
-- Volumes ADVM (Dynamic Volume Manager)
SELECT
'+' || volume_files.disk_group_name || ' [' || volume_files.volume_name || '] ' || volume_files.volume_device full_path
, volume_files.bytes
, volume_files.space
, NVL(LPAD(volume_files.type, 18), '<DIRECTORY>') type
, volume_files.creation_date
, volume_files.disk_group_name
, NULL
FROM
( SELECT
g.name disk_group_name
, v.volume_name volume_name
, v.volume_device volume_device
, f.bytes bytes
, f.space space
, f.type type
, TO_CHAR(f.creation_date, 'DD-MON-YYYY HH24:MI:SS') creation_date
FROM
v$asm_file f RIGHT OUTER JOIN v$asm_volume v USING (group_number, file_number)
JOIN v$asm_diskgroup g USING (group_number)
) volume_files
WHERE
volume_files.type IS NOT NULL
/
Colonnes / sortie
- ASM File Name / Volume Name / Device Name – chemin reconstitué (fichiers) ou identification du volume ADVM (2e bloc de la requête, via
v$asm_volume). - System Created? – distingue les fichiers internes ASM des fichiers de la base (datafiles, redo, contrôle...).
- La partie volumes ne renvoie rien sur une instance sans ADVM configuré (c'est normal, elle ne lève pas d'erreur).
Voir aussi
- ASM files 10g — même logique de reconstruction du chemin, sans le volet volumes ADVM (compatible Oracle 10g)
- ASM files2 — version simplifiée limitée aux fichiers créés par le système
- ASM alias — source des alias utilisés par la requête hiérarchique