The only agent that thinks for itself

Autonomous Monitoring with self-learning AI built-in, operating independently across your entire stack.

Unlimited Metrics & Logs
Machine learning & MCP
5% CPU, 150MB RAM
3GB disk, >1 year retention
800+ integrations, zero config
Dashboards, alerts out of the box
> Discover Netdata Agents

Centralized metrics streaming and storage

Aggregate metrics from multiple agents into centralized Parent nodes for unified monitoring across your infrastructure.

Stream from unlimited agents
Long-term data retention
High availability clustering
Data replication & backup
Scalable architecture
Enterprise-grade security
> Learn about Parents

Fully managed cloud platform

Access your monitoring data from anywhere with our SaaS platform. No infrastructure to manage, automatic updates, and global availability.

Zero infrastructure management
99.9% uptime SLA
Global data centers
Automatic updates & patches
Enterprise SSO & RBAC
SOC2 & ISO certified
> Explore Netdata Cloud

Deploy Netdata Cloud in your infrastructure

Run the full Netdata Cloud platform on-premises for complete data sovereignty and compliance with your security policies.

Complete data sovereignty
Air-gapped deployment
Custom compliance controls
Private network integration
Dedicated support team
Kubernetes & Docker support
> Learn about Cloud On-Premises

Powerful, intuitive monitoring interface

Modern, responsive UI built for real-time troubleshooting with customizable dashboards and advanced visualization capabilities.

Real-time chart updates
Customizable dashboards
Dark & light themes
Advanced filtering & search
Responsive on all devices
Collaboration features
> Explore Netdata UI

Monitor on the go

Native iOS and Android apps bring full monitoring capabilities to your mobile device with real-time alerts and notifications.

iOS & Android apps
Push notifications
Touch-optimized interface
Offline data access
Biometric authentication
Widget support
> Download apps

The future of infrastructure observability

See our strategic direction across AI-native observability, full-stack signals, operational intelligence, and enterprise platform maturity.

AI-native observability
Full-stack signal coverage
Operational intelligence
Enterprise platform maturity
Agent releases every 6 weeks
Cloud continuous delivery
> Explore Product Roadmap

Best energy efficiency

True real-time per-second

100% automated zero config

Centralized observability

Multi-year retention

High availability built-in

Zero maintenance

Always up-to-date

Enterprise security

Complete data control

Air-gap ready

Compliance certified

Millisecond responsiveness

Infinite zoom & pan

Works on any device

Native performance

Instant alerts

Monitor anywhere

AI-native observability

Continuous delivery

Open source foundation

80% Faster Incident Resolution

AI-powered troubleshooting from detection, to root cause and blast radius identification, to reporting.

True Real-Time and Simple, even at Scale

Linearly and infinitely scalable full-stack observability, that can be deployed even mid-crisis.

90% Cost Reduction, Full Fidelity

Instead of centralizing the data, Netdata distributes the code, eliminating pipelines and complexity.

See and Map Your Entire Network

Live topology, flow analytics, and SNMP device and trap monitoring — unified with your full-stack observability.

Control Without Surrender

SOC 2 Type 2 certified with every metric kept on your infrastructure.

Integrations

800+ collectors and notification channels, auto-discovered and ready out of the box.

800+ data collectors
Auto-discovery & zero config
Cloud, infra, app protocols
Notifications out of the box
> Explore integrations
Real Results
46% Cost Reduction

Reduced monitoring costs by 46% while cutting staff overhead by 67%.

— Leonardo Antunez, Codyas

Zero Pipeline

No data shipping. No central storage costs. Query at the edge.

From Our Users
"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

No Query Language

Point-and-click troubleshooting. No PromQL, no LogQL, no learning curve.

Enterprise Ready
67% Less Staff, 46% Cost Cut

Enterprise efficiency without enterprise complexity—real ROI from day one.

— Leonardo Antunez, Codyas

SOC 2 Type 2 Certified

Zero data egress. Only metadata reaches the cloud. Your metrics stay on your infrastructure.

Full Coverage
800+ Collectors

Auto-discovered and configured. No manual setup required.

Any Notification Channel

Slack, PagerDuty, Teams, email, webhooks—all built-in.

Built for the People Who Get Paged

Because 3am alerts deserve instant answers, not hour-long hunts.

Every Industry Has Rules. We Master Them.

See how healthcare, finance, and government teams cut monitoring costs 90% while staying audit-ready.

Monitor Any Technology. Configure Nothing.

Install the agent. It already knows your stack.
From Our Users
"A Rare Unicorn"

Netdata gives more than you invest in it. A rare unicorn that obeys the Pareto rule.

— Eduard Porquet Mateu, TMB Barcelona

99% Downtime Reduction

Reduced website downtime by 99% and cloud bill by 30% using Netdata alerts.

— Falkland Islands Government

Real Savings
30% Cloud Cost Reduction

Optimized resource allocation based on Netdata alerts cut cloud spending by 30%.

— Falkland Islands Government

46% Cost Cut

Reduced monitoring staff by 67% while cutting operational costs by 46%.

— Codyas

Real Coverage
"Plugin for Everything"

Netdata has agent capacity or a plugin for everything, including Windows and Kubernetes.

— Eduard Porquet Mateu, TMB Barcelona

"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

Real Speed
Troubleshooting in 30 Seconds

From 2-3 minutes to 30 seconds—instant visibility into any node issue.

— Matthew Artist, Nodecraft

20% Downtime Reduction

20% less downtime and 40% budget optimization from out-of-the-box monitoring.

— Simon Beginn, LANCOM Systems

Pay per Node. Unlimited Everything Else.

One price per node. Unlimited metrics, logs, users, and retention. No per-GB surprises.

Free tier—forever
No metric limits or caps
Retention you control
Cancel anytime
> See pricing plans

What's Your Monitoring Really Costing You?

Most teams overpay by 40-60%. Let's find out why.

Expose hidden metric charges
Calculate tool consolidation
Customers report 30-67% savings
Results in under 60 seconds
> See what you're really paying

Your Infrastructure Is Unique. Let's Talk.

Because monitoring 10 nodes is different from monitoring 10,000.

On-prem & air-gapped deployment
Volume pricing & agreements
Architecture review for your scale
Compliance & security support
> Start a conversation

Monitoring That Sells Itself

Deploy in minutes. Impress clients in hours. Earn recurring revenue for years.

30-second live demos close deals
Zero config = zero support burden
Competitive margins & deal protection
Response in 48 hours
> Apply to partner

Per-Second Metrics at Homelab Prices

Same engine, same dashboards, same ML. Just priced for tinkerers.

Community: Free forever · 5 nodes · non-commercial
Homelab: $90/yr · unlimited nodes · fair usage
> Get the Homelab Plan

$1,000 Per Referral. Unlimited Referrals.

Your colleagues get 10% off. You get 10% commission. Everyone wins.

10% of subscriptions, up to $1,000 each
Track earnings inside Netdata Cloud
PayPal/Venmo payouts in 3-4 weeks
No caps, no complexity
> Get your referral link
Cost Proof
40% Budget Optimization

"Netdata's significant positive impact" — LANCOM Systems

Calculate Your Savings

Compare vs Datadog, Grafana, Dynatrace

Savings Proof
46% Cost Reduction

"Cut costs by 46%, staff by 67%" — Codyas

30% Cloud Bill Savings

"Reduced cloud bill by 30%" — Falkland Islands Gov

Enterprise Proof
"Better Than Combined Alternatives"

"Better observability with Netdata than combining other tools." — TMB Barcelona

Real Engineers, <24h Response

DPA, SLAs, on-prem, volume pricing

Why Partners Win
Demo Live Infrastructure

One command, 30 seconds, real data—no sandbox needed

Zero Tickets, High Margins

Auto-config + per-node pricing = predictable profit

Homelab Ready
Free Video Course

8-episode Netdata tutorial by LearnLinux.tv

76k+ GitHub Stars

3rd most starred monitoring project

Worth Recommending
Product That Delivers

Customers report 40-67% cost cuts, 99% downtime reduction

Zero Risk to Your Rep

Free tier lets them try before they buy

AI Support Assistant, Available 24/7

Nedi has access to all official documentation, source code, and resources. Ask any question about Netdata—responds in your language.

Deployment & configuration
Troubleshooting & sizing
Alerts & notifications
Evidence-based answers
> Ask Nedi now

Never Fight Fires Alone

Docs, community, and expert help—pick your path to resolution.

Learn.netdata.cloud docs
Discord, Forums, GitHub
Premium support available
> Get answers now

60 Seconds to First Dashboard

One command to install. Zero config. 850+ integrations documented.

Linux, Windows, K8s, Docker
Auto-discovers your stack
> Read our documentation

76,000+ Engineers Strong

615+ contributors. 1.5M daily downloads. One mission: simplify observability.

Per-Second. 90% Cheaper. Data Stays Home.

Side-by-side comparisons: costs, real-time granularity, and data sovereignty for every major tool.

See why teams switch from Datadog, Prometheus, Grafana, and more.

> Browse all comparisons
Edge-Native Observability, Born Open Source
Per-second visibility, ML on every metric, and data that never leaves your infrastructure.
Founded in 2016
615+ contributors worldwide
Remote-first, engineering-driven
Open source first
> Read our story
Promises We Publish—and Prove
12 principles backed by open code, independent validation, and measurable outcomes.
Open source, peer-reviewed
Zero config, instant value
Data sovereignty by design
Aligned pricing, no surprises
> See all 12 principles
Edge-Native, AI-Ready, 100% Open
76k+ stars. Full ML, AI, and automation—GPLv3+, not premium add-ons.
76,000+ GitHub stars
GPLv3+ licensed forever
ML on every metric, included
Zero vendor lock-in
> Explore our open source
Build Real-Time Observability for the World
Remote-first team shipping per-second monitoring with ML on every metric.
Remote-first, fully distributed
Open source (76k+ stars)
Challenging technical problems
Your code on millions of systems
> See open roles
Meet the Team Behind Netdata
Conferences, meetups, and tradeshows where you can see Netdata in action and talk to the engineers who build it.
Live demos and deep dives
Book 1-on-1 meetings
Talks and panel sessions
Event recaps and photos
> See all events
Talk to a Netdata Human in <24 Hours
Sales, partnerships, press, or professional services—real engineers, fast answers.
Discuss your observability needs
Pricing and volume discounts
Partnership opportunities
Media and press inquiries
> Book a conversation
Your Data. Your Rules.
On-prem data, cloud control plane, transparent terms.
Trust & Scale
76,000+ GitHub Stars

One of the most popular open-source monitoring projects

SOC 2 Type 2 Certified

Enterprise-grade security and compliance

Data Sovereignty

Your metrics stay on your infrastructure

Validated
University of Amsterdam

"Most energy-efficient monitoring solution" — ICSOC 2023, peer-reviewed

ADASTEC (Autonomous Driving)

"Doesn't miss alerts—mission-critical trust for safety software"

Community Stats
615+ Contributors

Global community improving monitoring for everyone

1.5M+ Downloads/Day

Trusted by teams worldwide

GPLv3+ Licensed

Free forever, fully open source agent

Why Join?
Remote-First

Work from anywhere, async-friendly culture

Impact at Scale

Your work helps millions of systems

$ guides / oracle-database / oracle-database-ora-01578-block-corruption ▌

Operations Guides

ORA-01578: ORACLE data block corrupted (file #, block #)

ORA-01578 is raised when Oracle reads a data block whose contents fail internal validation. The block is marked corrupt and the read fails. The instance keeps running because corruption rarely crashes it, but every query touching that block errors until the block is repaired or bypassed.

Two risks follow. First, the data in that block is inaccessible or lost. Second, backups may be compromised: RMAN detects corrupt blocks during backup by default (MAXCORRUPT=0), but without proactive VALIDATE you may not know when corruption started or which backup pieces are clean.

The error is also frequently a false alarm on Data Guard standbys: NOLOGGING operations on the primary leave the standby with blocks Oracle reports as corrupt. Telling the two apart is the first decision in any ORA-01578 response.

This article covers read-only triage, the distinction between physical corruption and NOLOGGING-induced corruption, and the repair paths from Block Media Recovery through DBMS_REPAIR.

What this means

The error message names the file number and block number. ORA-01110 usually accompanies it with the datafile name. The block is not necessarily destroyed in the storage sense. It may have a bad checksum, a wrong block number, a scrambled header, or logical inconsistency in its row data.

Two diagnostic categories matter for response:

  • Physical (media) corruption. The bytes on disk are wrong: checksum mismatch, wrong block number, zeroed block, torn write. Storage, host memory, or an Oracle bug is the usual root cause.
  • Logical corruption. The block is structurally valid but internally inconsistent: row data, ITL entries, or row directories disagree. RMAN VALIDATE only catches this with CHECK LOGICAL.

A third category looks identical in the alert log but behaves differently: NOLOGGING-induced corruption. If ORA-26040 (“data block was loaded using NOLOGGING option”) accompanies ORA-01578, the block was loaded on the primary without redo, and a physical standby cannot reconstruct it. No hardware is failing, but the data is unrecoverable without reloading.

flowchart TD
    A["ORA-01578 detected"] --> B{"ORA-26040 present?"}
    B -- Yes --> C["NOLOGGING on standby"]
    B -- No --> D["Media corruption"]
    C --> E["RECOVER NONLOGGED BLOCK or reload"]
    D --> F["RMAN VALIDATE CHECK LOGICAL"]
    F --> G["V$DATABASE_BLOCK_CORRUPTION lists blocks"]
    G --> H["BLOCKRECOVER or DBMS_REPAIR"]

Common causes

CauseWhat it looks likeFirst thing to check
Storage hardware failureORA-01578 on blocks clustered in one LUN or extent rangeOS logs, SMART, EDAC, V$DATABASE_BLOCK_CORRUPTION spread
Bad RAMCorruption scattered across files, sometimes with ORA-00600mcelog, edac-utils, dmesg for ECC errors
NOLOGGING on primary, read on standbyORA-01578 plus ORA-26040 on standby only; primary reads cleanV$DATAFILE.UNRECOVERABLE_TIME
Oracle bugORA-01578 with ORA-00600, often version-specific block format issueAlert log arguments, My Oracle Support
Torn write after host crashSingle block, often following power loss or storage path failureBlock dump, RMAN VALIDATE
DB_BLOCK_CHECKING disabledCorrupt block written to disk undetected; surfaces on later readCurrent parameter value

Quick checks

All read-only and safe to run during an incident.

-- Inventory every known corrupt block (populated by RMAN VALIDATE / ANALYZE / DBVERIFY)
SELECT FILE#, BLOCK#, BLOCKS, CORRUPTION_TYPE
FROM V$DATABASE_BLOCK_CORRUPTION;
-- Resolve file number to datafile name and status
SELECT FILE#, NAME, STATUS FROM V$DATAFILE WHERE FILE# = &file_num;
-- Pull recent ORA-01578 / ORA-01110 / ORA-26040 lines from the XML alert log
SELECT originating_timestamp, message_text
FROM V$DIAG_ALERT_EXT
WHERE message_text LIKE '%ORA-01578%'
   OR message_text LIKE '%ORA-01110%'
   OR message_text LIKE '%ORA-26040%'
ORDER BY originating_timestamp DESC;
-- Recent NOLOGGING exposure per datafile (standby diagnosis)
SELECT FILE#, UNRECOVERABLE_CHANGE#, UNRECOVERABLE_TIME
FROM V$DATAFILE
WHERE UNRECOVERABLE_TIME IS NOT NULL
ORDER BY UNRECOVERABLE_TIME DESC;
-- Was corruption already captured into a backup piece?
SELECT * FROM V$BACKUP_CORRUPTION WHERE COMPLETION_TIME > SYSDATE - 7;
-- Confirm proactive detection parameters
SELECT NAME, VALUE FROM V$PARAMETER
WHERE NAME IN ('db_block_checking', 'db_block_checksum');

How to diagnose it

  1. Confirm whether the corruption is real or a NOLOGGING artifact. On a physical standby, check whether ORA-26040 accompanies ORA-01578. If it does, and the primary reads the same block without error, you have NOLOGGING-induced corruption, not media failure. Skip to the standby NOLOGGING fix path below.

  2. Run RMAN VALIDATE to enumerate every corrupt block. A single ORA-01578 from the application tells you one block is bad. It does not tell you whether neighbors are also affected. Always validate before repairing.

# Validate the whole database (physical corruption only, default behavior)
rman target / <<'EOF'
VALIDATE DATABASE;
EOF

Add CHECK LOGICAL to also catch logical corruption:

# Physical plus logical corruption check
rman target / <<'EOF'
VALIDATE CHECK LOGICAL DATABASE;
EOF
  1. Inspect CORRUPTION_TYPE in V$DATABASE_BLOCK_CORRUPTION. Values include ALL ZERO, FRACTURED, CORRUPT, and LOGICAL. Each type points to a different root cause.

  2. Cross-check with DBVERIFY. DBVERIFY reads the datafile directly from disk, outside Oracle, so it can catch corruption the buffer cache might mask.

# Verify a specific datafile (safe on online files)
dbv file=/u01/oradata/prod/users01.dbf blocksize=8192

DBVERIFY output lists corrupt block ranges with explicit line markers.

  1. Trace the corruption to a cause. Cluster the corrupt blocks by file and extent range. Random scatter across files points to memory or storage subsystem failure. A contiguous range in one file suggests a localized storage event. Check OS logs (dmesg, /var/log/messages), SMART data, SAN multipath health, and mcelog for ECC errors.

  2. Check whether your backups already captured the corruption. If V$BACKUP_CORRUPTION shows the corrupt block in a recent backup piece, that backup is compromised. Your last known-good backup may be older than expected.

Metrics and signals to monitor

SignalWhy it mattersWarning sign
V$DATABASE_BLOCK_CORRUPTION row countDirect corruption inventory after VALIDATEAny non-zero row
Alert log ORA-01578 / ORA-01110 / ORA-26040First-place detection of read failuresAny occurrence
V$BACKUP_CORRUPTIONWhether backups captured bad blocksAny rows
V$COPY_CORRUPTIONImage copy integrityAny rows
V$DATAFILE.UNRECOVERABLE_TIMENOLOGGING exposure on standbyTime newer than last incremental backup
DB_BLOCK_CHECKING parameterProactive in-memory detectionFALSE in production
RMAN backup job statusWhether a recovery path still existsRecent failures or no recent backup
OS storage and memory error countersHardware root causeSMART reallocations, EDAC ECC errors

Fixes

Physical corruption: Block Media Recovery

When you have a valid backup, Block Media Recovery (BMR) is the lowest-impact repair. RMAN recovers only the named blocks from backup plus archive redo, without taking the datafile or tablespace offline.

# Recover specific corrupt blocks
rman target / <<'EOF'
BLOCKRECOVER DATAFILE 5 BLOCK 1234, 1235, 1236;
EOF

Or recover every block listed in V$DATABASE_BLOCK_CORRUPTION:

rman target / <<'EOF'
BLOCKRECOVER CORRUPTION LIST;
EOF

Notes:

  • BMR requires a valid backup and archive redo logs to roll the blocks forward to current SCN.
  • BLOCKRECOVER removes repaired blocks from V$DATABASE_BLOCK_CORRUPTION on completion. Re-run VALIDATE to confirm before closing the incident.
  • If the corrupt block belongs to a critical object in SYSTEM, SYSAUX, or UNDO, engage Oracle Support before improvising.

NOLOGGING-induced corruption on standby

This is the most common ORA-01578 false positive. The primary loaded data with NOLOGGING (direct-path insert, certain DDL, CREATE TABLE AS SELECT with no logging). Redo was not generated for those blocks, so the standby cannot reconstruct them.

On 12.2 and later, RMAN can recover only the nonlogged blocks without restoring the whole datafile. Stop redo apply on the physical standby first, then run RECOVER DATABASE NONLOGGED BLOCK; if you discover the blocks only after a role change, the source database must be mounted and RMAN connected to it.

# On the standby, after managed recovery has been canceled
rman target / <<'EOF'
RECOVER DATABASE NONLOGGED BLOCK;
EOF

On versions prior to 12.2, restore the affected datafile from the primary, or take a fresh incremental backup on the primary and apply it to the standby.

Prevention: set ALTER DATABASE FORCE LOGGING on the primary, or follow any NOLOGGING operation with an incremental backup that is shipped to and applied on the standby.

DBMS_REPAIR when no clean backup exists

Warning: DBMS_REPAIR does not fix corruption. It marks blocks as software-corrupt so DML can skip them. Data in those blocks is permanently lost. Use only when BMR is impossible and the data loss is documented and accepted.

-- One-time setup: repair and orphan key tables
EXEC DBMS_REPAIR.ADMIN_TABLES('REPAIR_TAB', 1, 1, 'USERS');
EXEC DBMS_REPAIR.ADMIN_TABLES('ORPHAN_TAB', 2, 1, 'USERS');

-- Scan a specific object and record corrupt blocks
EXEC DBMS_REPAIR.CHECK_OBJECT('HR', 'EMPLOYEES', NULL, 1, 'REPAIR_TAB');

-- Mark blocks so DML skips them
EXEC DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('HR', 'EMPLOYEES');

Rebuild affected indexes afterward, as orphaned index entries will remain.

Data Recovery Advisor

Historically, RMAN’s Data Recovery Advisor (DRA) provided LIST FAILURE, ADVISE FAILURE, and REPAIR FAILURE automation for corruption incidents. DRA was deprecated in 19c and is desupported in 26ai with no replacement. The 26ai desupport explicitly covers the RMAN commands LIST FAILURE, ADVISE FAILURE, REPAIR FAILURE, and CHANGE FAILURE; administrators no longer have access to them. Do not build new runbooks around any of these commands if you are on, or plan to upgrade to, 26ai.

Prevention

  • Enable DB_BLOCK_CHECKING. Default is FALSE. Set to MEDIUM or FULL in production. Overhead is roughly 1-10% CPU, but it catches corruption in memory before it reaches disk.
  • Confirm DB_BLOCK_CHECKSUM is TYPICAL or FULL. Default is TYPICAL. Checksums catch the majority of media corruption on read.
  • Schedule regular RMAN VALIDATE runs. VALIDATE CHECK LOGICAL DATABASE weekly catches corruption before it reaches your backup window. Treat it as a backup job: monitor for completion.
  • Set FORCE LOGGING on primary databases with physical standbys. NOLOGGING is the single largest source of standby ORA-01578 plus ORA-26040.
  • Track V$DATAFILE.UNRECOVERABLE_TIME. If it is newer than your last incremental backup, the standby has unrecoverable blocks.
  • Monitor storage and memory health at the OS level. SMART reallocated sector counts, EDAC ECC errors, and SAN path failures precede most real corruption incidents.
  • Test backup recovery quarterly. A backup that completes successfully is not the same as a backup that restores. The first time most teams discover their backups are bad is during a real disaster.

How Netdata helps

ORA-01578 surfaces in the alert log, but the surrounding context (storage errors, memory errors, recent NOLOGGING activity, backup health) determines the repair path. Netdata correlates these signals on a per-second timeline:

  • Alert log parsing surfaces ORA-01578, ORA-01110, and ORA-26040 entries with file and block numbers.
  • OS-level storage metrics (disk error rates, SMART attributes where exposed) let you pin the corruption timestamp to hardware events.
  • Memory ECC counters from EDAC and kernel MCE logs help confirm or rule out bad RAM.
  • RMAN backup job status from V$RMAN_BACKUP_JOB_DETAILS confirms whether your recovery path is intact.
  • V$DATAFILE.UNRECOVERABLE_TIME trending flags NOLOGGING exposure before failover turns it into an incident.
  • V$DATABASE_BLOCK_CORRUPTION row count as a gauge charts repair progress toward zero.

See Oracle Database monitoring with Netdata for setup.

The Netdata solution

Oracle Database monitoring with Netdata

Netdata monitors Oracle Database with per-second metrics and automatic dashboards. Watch wait events, redo and archive-log activity, tablespace and undo space, and session and lock activity so the failure modes in these runbooks surface before the instance hangs.