ASM-Disk-Zustand, Fehlerzähler und Kandidaten-Disks mit SQL prüfen
OracleASMBefehl
-- 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;Was es tut
Listet je Disk header_status (MEMBER, CANDIDATE, PROVISIONED, FORMER), Mount-/Mode-Zustand, Failgroup und Lese-/Schreibfehlerzähler; dazu die Anzahl der Offline-Disks je Diskgroup und die ASM-Clients.
Wann einsetzen
Vor dem Hinzufügen von Disks, um zu prüfen, dass eine neue LUN als CANDIDATE/PROVISIONED erscheint; bei einem Disk-Ausfall, um zu sehen, welche Disk OFFLINE ist und ob I/O-Fehler vorliegen.
Vorsicht
Nur lesend. v$asm_disk führt bei jedem Aufruf eine Disk Discovery durch und ist auf Systemen mit vielen Disks langsam; für häufiges Monitoring nutze v$asm_disk_stat (keine Discovery, zeigt keine neuen Disks). Füge eine Disk mit header_status MEMBER niemals mit FORCE einer anderen Diskgroup hinzu; das zerstört die vorhandenen Daten.