Vérifier l'état des disques ASM, les compteurs d'erreurs et les disques candidats en SQL
OracleASMCommande
-- On the ASM instance (or from a DB instance; there only the disk groups in use are visible):
SELECT dg.name AS diskgroup, d.disk_number, d.name AS disk_name, d.path,
d.header_status, d.mount_status, d.mode_status, d.state,
d.failgroup, d.total_mb, d.free_mb, d.read_errs, d.write_errs
FROM v$asm_disk d
LEFT JOIN v$asm_diskgroup dg ON dg.group_number = d.group_number
ORDER BY dg.name, d.disk_number;
-- Disk group summary: AU size, offline disks, voting files:
SELECT name, type, allocation_unit_size/1048576 AS au_mb,
compatibility, database_compatibility, offline_disks, voting_files
FROM v$asm_diskgroup;
-- Databases using this ASM:
SELECT instance_name, db_name, status, software_version, compatible_version
FROM v$asm_client;Ce que fait la commande
Liste le header_status de chaque disque (MEMBER, CANDIDATE, PROVISIONED, FORMER), l'état mount/mode, le failgroup et les compteurs d'erreurs de lecture/écriture ; le nombre de disques offline par disk group et les clients ASM.
Quand l'utiliser
Avant d'ajouter des disques, pour vérifier qu'un nouveau LUN apparaît en CANDIDATE/PROVISIONED ; en cas de panne de disque, pour voir quel disque est OFFLINE et les éventuelles erreurs d'E/S.
Attention
Lecture seule. v$asm_disk lance une découverte des disques à chaque appel et est lent sur les systèmes comportant de nombreux disques ; pour une surveillance fréquente, utilisez v$asm_disk_stat (pas de découverte, n'affiche pas les nouveaux disques). N'ajoutez jamais avec FORCE à un autre disk group un disque dont le header_status est MEMBER ; cela détruit les données existantes.