{
  "id": 11700578,
  "title": "ORA-00257: The Database Stopped Accepting Writes. The Archiver Is Stuck.",
  "url": "https://urgent.news/2026/10/03/ora-00257-the-database-stopped-accepting-writes-the-archiver-is-stuck",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-03T14:23:45.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/uptimearchitect/ora-00257-the-database-stopped-accepting-writes-the-archiver-is-stuck-4lgi"
  },
  "original_language": "en",
  "account": "At 3 a.m., an application suddenly freezes, with every screen that tries to save hanging. The screens that time out display an ORA-00257: archiver error message. The database hasn't crashed, as SELECT queries still work and connections as SYSDBA remain possible. However, the database is entirely unable to write anything due to a message that appears as a riddle. The ORA-00257 is not a failure, but rather a refusal. The database is in ARCHIVELOG mode, which promises to archive every online redo log before reusing it, ensuring no committed transaction is lost. The archiver cannot keep this promise right now, so instead of overwriting the redo that hasn't been safely copied, it stops accepting new redo altogether.\n\nThe most common reason for this issue is that the archived logs are piling up and not being removed. The Fast Recovery Area (FRA) has a fixed size, and every log switch adds an archived log to it. If backups aren't also deleting the archived logs or there's no archive-log backup at all, the FRA will fill up at the same rate the database generates redo. When the FRA hits its size limit, the archiver process (ARCn) tries to create the next archived log, fails with ORA-19809, marks the archive destination as ERROR, and the alert log confirms this with a \"Stuck archiver condition declared\" message. The online redo logs continue to fill with new changes, but none can be archived or reused, causing the database to stop.\n\nTo confirm the cause, three queries can be run as SYSDBA:\n1. Check how full the FRA is and determine if it's the problem.\n2. Identify what is filling the FRA (almost always ARCHIVED LOG).\n3. Check if the archive destination is in error and why.\n\nIf query 1 shows that the FRA is almost full, query 2 reveals that ARCHIVED LOG is dominating it, and query 3 shows that the STATUS is ERROR with ORA-19809, then the case is the FRA-full issue. In this scenario, the alert log will confirm this with a \"Stuck archiver condition declared\" message, providing a diagnosis of the problem.\n\nTo resolve the issue, there are two steps:\n1. Stop the bleeding by freeing up space in the FRA. This can be done by backing up and deleting the archived logs or by growing the FRA.\n2. Fix the cause of the problem, which is typically the accumulation of archived logs without proper deletion or backup.\n\nBy following these steps, the archiver can resume, and writes can continue without interruption.",
  "summary": "The pager goes off at 3 a.m.: the application is frozen. Every screen that tries to save hangs, and the ones that time out come back with ORA-00257: archiver error. Connect internal only, until freed. The database didn't crash — SELECT still works, you can connect as SYSDBA, the alert log shows no corruption. But nothing can write . The whole business is stopped by a message that reads like a…",
  "key_points": [
    "Database stopped accepting writes due to ORA-00257 archiver error",
    "Archiver process stuck because archived logs not being removed",
    "Issue resolved by freeing up space in Fast Recovery Area (FRA)"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}