Cómo solucionar el error: ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación que se produce en un servidor de base de datos Oracle.
- Error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación.
- Causa del error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación.
- Solución al error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación.
- Medidas correctivas para evitar que vuelva a suceder.
Error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación
El servicio de Oracle deja de funcionar y los aplicativos que lo usan pierden el acceso a la base de datos Oracle.
Cuando intentamos conectarnos, mediante SQL*Plus, a un instancia concreta del servidor de Oracle, por ejemplo a «ido»:
|
1 |
conn system/ora1@ido |
Nos devolverá el error:
ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación.

Si intentamos ejecutar una consulta SQL para obtener el estado de la base de datos:
|
1 |
select status from v$instance; |
Nos devolverá:
SP2-0640: Not connected

En cambio, si intentamos conectarnos a la instancia principal, con:
|
1 |
conn / as sysdba; |
No nos mostrará error, incluso ejecutando:
|
1 |
select status from v$instance; |
Nos devolverá «OPEN»:

Este error se produce en bases de datos Oracle con el modo ARCHIVELOG activado. Podemos consultar el modo con la sentencia SQL:
|
1 |
select name, log_mode from v$database; |

Si el servidor se reinicia en este estado, la base de datos ya no cargará a estado OPEN, se quedará sin montar.
Causa del error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación
El error ORA-00257, normalmente, indica que la unidad o unidades del archivado se han llenado. Es decir, que la unidad de disco donde se almacenan los ficheros de archivado de Oracle se ha quedado sin espacio. En este estudio de caso, la unidad /oralog, donde se almacenan los ficheros de ARCHIVELOG de Oracle, está al 100% de uso:

Esto provoca que la base de datos queda en estado OPEN (supuestamente correcto) pero, en realidad, no funciona el acceso mientras no se libere el espacio.
Solución al error ORA-00257: error del proceso de archivado. Solo conexión interna hasta liberación
Para solucionar el error ORA-00257, si la base de datos aún está en estado OPEN, iniciaremos sesión en RMAN desde la línea de comandos del servidor de Oracle:
|
1 |
rman target / |
Desde RMAN, forzaremos el vaciado de los archivos de log que no han sido copiados a la unidad de backup, con el comando:
|
1 |
backup archivelog all delete all input; |
Si se produce algún error como el siguiente:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
input archived log thread=1 sequence=5316029 RECID=5315518 STAMP=1172113275 channel ORA_DISK_1: starting piece 1 at 20-JAN-26 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of backup command on ORA_DISK_1 channel at 01/20/2026 08:40:55 ORA-19502: write error on file "/oralog/fast_recovery_area/ORA/backupset/2026_01_20/o1_mf_annnn_TAG20260120T0 4045_npydd6fc_.bkp", block number 2048 (block size=512) ORA-27072: File I/O error Additional information: 4 Additional information: 2048 Additional information: 897024 |
Será conveniente detener la base de datos e iniciarla en modo MOUNT. Para ello, desde SQL*Plus, ejecutaremos el comando:
|
1 |
shutdown immediate |
Si la base de datos se detiene correctamente, la iniciaremos en modo MOUNT, si no se detiene (es lo habitual cuando queda en este estado), será recomendable reiniciar el servidor completo. Una vez reiniciado, volveremos a acceder a SQL*Plus, en este caso, comprobaremos que la base de datos no se inicia, dado que está sin espacio en la unidad de ARCHIVELOG, mostrando:
|
1 2 3 4 5 6 7 8 9 |
SQL> conn / as sysdba; Connected to an idle instance. SQL> select status from v$instance; select status from v$instance * ERROR at line 1: ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0 |

En este caso, iniciaremos la base de datos en estado MOUNT, para que puedan ejecutarse los comandos RMAN de liberación de espacio. Para ello, ejecutaremos los comandos:
|
1 2 |
startup nomount; alter database mount; |

Esperaremos a que se inicie la base de datos en estado MOUNT y revisaremos que ha quedado inicia en ese estado con:
|
1 |
select status from v$instance; |

Tras montar la base de datos, desde otra shell de comandos (conviene dejar la anterior abierta para hacer un posterior startup), accederemos nuevamente a RMAN:
|
1 |
rman target / |
Iremos ejecutando los siguientes comandos, que mostramos por orden de agresividad, de menor agresivo a mayor agresivo:
|
1 2 3 4 |
DELETE EXPIRED ARCHIVELOG ALL; DELETE OBSOLETE DEVICE TYPE DISK; DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-1'; DELETE ARCHIVELOG ALL; |
En este caso, dio resultado el comando:
|
1 |
DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-1'; |
Que pidió confirmación para eliminar los ficheros de «backup», respondimos «yes» y eliminó cientos de ficheros de la carpeta /oralog, liberando el espacio ocupado.

Una vez liberado el espacio en la unidad, desde la ventana de shell anterior con conexión a Oracle mediante SQL*Plus, iniciaremos la base de datos en modo normal OPEN, con el comando:
|
1 |
alter database open; |

La base de datos volverá a funcionar correctamente y el error ORA-00257 quedará solucionado.
Medidas correctivas para evitar que vuelva a suceder
El error ORA-00257 se suele producir cuando fallan los backups de RMAN o cualquier otro sistema que tengamos implementado para hacer backup de los ficheros de ARCHIVELOG y eliminarlos de su ubucación original.
Lo habitual es tener configurado un backup en frío (con export) y un backup en caliente (con RMAN). Para el caso de RMAN, lo que suele realizar esta herramienta, es una backup a otra unidad de los ficheros de ARCHIVELOG y, posteriormente, eliminarlos del origen. De esta forma la unidad de ARCHIVELOG nunca se llenará.
En este caso y de forma habitual, el backup de RMAN estaba fallando durante varios días, lo que provocó que no se vaciaran los archivos de redolog de /oralog, llenándose la unidad.
Por ello, la medida correctiva para este error es procurar que el backup de RMAN siempre se realice. Y, como medida adicional, se podría ampliar el espacio en disco para los ficheros de log de archivado (ARCHIVELOG), de forma que admitan más días de fallo del backup de RMAN.
Por otro lado, es muy recomendable monitorizar tanto el resultado de los backups de RMAN como el espacio en disco en las unidades de Oracle.