Проверить состояние дисков ASM, счётчики ошибок и диски-кандидаты через SQL
OracleASMКоманда
-- 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;Что делает
Выводит для каждого диска header_status (MEMBER, CANDIDATE, PROVISIONED, FORMER), состояние mount/mode, failgroup и счётчики ошибок чтения/записи; число offline-дисков по дисковым группам и клиентов ASM.
Когда использовать
Перед добавлением дисков — чтобы убедиться, что новый LUN виден как CANDIDATE/PROVISIONED; при отказе диска — чтобы увидеть, какой диск OFFLINE, и наличие ошибок I/O.
Внимание
Только чтение. v$asm_disk при каждом обращении выполняет обнаружение дисков и работает медленно на системах с большим числом дисков; для частого мониторинга используйте v$asm_disk_stat (без обнаружения, новые диски не показывает). Никогда не добавляйте диск с header_status MEMBER в другую дисковую группу с FORCE; это уничтожит существующие данные.