Un buen truco para evitar el error ORA-00257

Un buen truco para evitar el error ORA-00257: Me he topado con varios sistemas que siguen usando LOG_ARCHIVE_DEST y no LOG_ARCHIVE_DEST_n. Aqui un pequeño truco que te motivara a hacer este cambio y evitar que cuando se llene tu destino para archivar tus Online Redo Logs tu base de datos se cuelgue.



TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_1"='LOCATION=/mount/arch01/oracle/TESTDB MANDATORY MAX_FAILURE=1 NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2' scope=both;

System altered.

TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_STATE_1"=ENABLE scope=both;

System altered.

TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_2"='LOCATION=/mount/arch02/oracle/TESTDB MANDATORY' scope=both;

System altered.

TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_STATE_2"=ALTERNATE scope=both;

System altered.




Cuando se llena el primer destino, el segundo destino es el que se habilita con la configuración de arriba, evitando que la Base de Datos se cuelgue debido a que ya no tiene donde archivar los Online Redo Logs.



Una vez el destino 2 sea el que esta habilitado y que hayas solucionado el problema de espacio en el primer destino, ya nada mas tienes que revertirlo y tener la configuración que tenias antes de que se llenara el espacio en el primer destino.



TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_STATE_1"=ENABLE scope=both;

System altered.

TESTDB >ALTER SYSTEM SET "LOG_ARCHIVE_DEST_STATE_2"=ALTERNATE scope=both;

System altered.




Comentarios

Entradas populares de este blog

Buscar la sesión por PID y ver la query SQL en Oracle

Como mover un indice de tipo LOB a un tablespace diferente

Eliminar procesos MySQL que están en estado SLEEP por determinado tiempo