Asm Health Checker Found 1 New Failures Today

He remoted into the terminal. The ASM dashboard, usually a sea of serene green, had a solitary, angry red dot pulsing on the Database Latency "Strange," Leo muttered. "The DB cluster is healthy."

When the reports "found 1 new failures," it usually indicates a critical disruption to the storage layer, often leading to a forced dismount of a disk group to prevent data corruption . This message is a summary alert that appears in the ASM Alert Log after a specific storage-related error has already occurred. Common Causes

The ASM Health Checker runs automatically and reports any issues or failures it detects. The checker runs at regular intervals, which can be configured using the ASM_CHECK_INTERVAL parameter. asm health checker found 1 new failures

The GET_RUN_REPORT output will contain sections like 'Run Findings And Recommendations', which will show the specific failure (e.g., a specific datafile or disk), its priority, and a descriptive message.

Improper shutdown (e.g., shutdown abort on ASM) leaves ASM metadata in an inconsistent state. The next health check reveals failure. He remoted into the terminal

if len(new_failures) > 0: send_alert( title="ASM Health Checker found 1 new failure", details=list(new_failures), count=len(new_failures) ) else: log.info("No new ASM failures detected")

One or more disks in a disk group are no longer accessible. This message is a summary alert that appears

| Area | Requirement | |-------|--------------| | Performance | Comparison must complete in < 100ms | | State persistence | Store previous health state (e.g., Redis, SQLite, S3) | | Idempotency | Rerunning same check should not trigger duplicate alerts | | Configurability | Ability to ignore certain failure types from “new failure” detection |

Once you have applied the fix, you need to verify that the ASM cluster is fully healthy and clear the alert.

• Failure: TLS certificate expiry < 7 days • Component: asm-gateway • First seen: 2026-04-12 10:15 UTC • Severity: HIGH • Previous status: pass → current: fail

SELECT run_id, name, check_name, start_time, end_time, status FROM v$hm_run ORDER BY run_id DESC;