ORA-19804: cannot reclaim N bytes disk space from M bytes limit (no se pueden recuperar N bytes de espacio en disco del límite de M bytes)
Oracle¿Qué significa?
Oracle intentó hacer sitio en la Fast Recovery Area (FRA) para un nuevo archivo (log archivado, backup, flashback log), pero no pudo recuperar el espacio necesario porque se alcanzó el límite lógico definido por DB_RECOVERY_FILE_DEST_SIZE.
¿Por qué ocurre?
El tamaño de la FRA (DB_RECOVERY_FILE_DEST_SIZE) es un límite superior independiente del disco físico, y los logs archivados, los backups de RMAN o los flashback logs lo han llenado. La causa raíz suele ser que los logs archivados no se respaldan y eliminan con regularidad, o que no se purgan los backups obsoletos.
Cómo solucionarlo
Revise el uso de la FRA: SELECT * FROM v$recovery_area_usage; y SELECT * FROM v$recovery_file_dest; Haga backup de los logs archivados a un destino fuera de la FRA y elimínelos (RMAN: BACKUP ARCHIVELOG ALL FORMAT '/backup/arc_%U' DELETE INPUT;) o purgue los backups que ya no se necesitan (RMAN: DELETE OBSOLETE;). Con Data Guard, no elimine logs archivados que aún no se hayan aplicado en el standby. Como solución permanente, aumente DB_RECOVERY_FILE_DEST_SIZE si hay espacio en disco. Si no se necesita Flashback Database, considere deshabilitarlo.
Más entradas de este motor
- ORA-07445exception encountered: core dump
- ORA-01102cannot mount database in EXCLUSIVE mode
- ORA-29913error in executing ODCIEXTTABLEOPEN callout (error al ejecutar el callout ODCIEXTTABLEOPEN)
- ORA-00494enqueue held for too long by 'inst N, osid M' (enqueue retenido demasiado tiempo)
- ORA-04021timeout occurred while waiting to lock object (timeout al esperar el bloqueo de un objeto)
- ORA-04061existing state of package/procedure has been invalidated (se invalidó el estado existente del package/procedimiento)
- ORA-01466unable to read data - table definition has changed (no se pueden leer los datos; la definición de la tabla ha cambiado)