DBAtlas · Atlas d'exploitation des bases de données

Vérifier l'état des disques ASM, les compteurs d'erreurs et les disques candidats en SQL

OracleASM

Commande

-- 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.

Ouvrir dans DBAtlas →

Voir aussi