ORA-00257
Error: ORA-00257: archiver error. Connect internal only, until freed.
Causa: The archiver process received an error while trying to archive a redo log. If the problem is not resolved soon, the database will stop executing transactions. The most likely cause of this message is the destination device is out of space to store the redo log file.
Acción: Check the archiver trace file for a detailed description of the problem. Also, verify that the device specified in the initialization parameter ARCHIVE_LOG_DEST is set up properly for archiving.
COMENTARIOS:
por Anónimo | 21/02/2006 10:33:33
RE: ORA-00257
Eliminando el proceso que lo esta bloqueando.
por Anónimo | 16/08/2006 20:32:25
RE: ORA-00257
Pero eso quién lo hace, el admin de la bbdd?
por Anónimo | 18/09/2006 09:54:27
RE: ORA-00257
conectandose internamente a la base de datos
archive log stop;
archive log start;
por anuvis07 | 17/01/2007 20:45:29
RE: ORA-00257
nstrucciones que explican cómo activar y desactivar el modo de archivelog (archivado automático) de una base de datos Oracle. Utilizando "SQL Plus" y el comando "alter database archivelog".
Cómo activar el modo de archive log (archivado automático) de una base de datos Oracle
Este manual muestra y explica cómo activar el modo de archivelog de una base de datos Oracle
Abriremos la aplicación SQL Plus de Oracle desde una ventana de MS-DOS ("Inicio" - "Ejecutar" - "cmd"):
sqlplus /nolog
Nos conectamos con un usuario con suficientes privilegios a la base de datos Oracle a la que queramos activarle el modo Archive Log (ARCHIVELOG), con el comando:
connect usuario/contraseña@NOMBRE_BASE_DATOS as sysdba
Si ejecutamos este comando y la base de datos está en modo OPEN (abierta):
alter database archivelog;
Nos dará el siguiente error:
alter database archivelog
*
ERROR at line 1:
ORA-01126: database must be mounted EXCLUSIVE and not open for this operation
Indicando que para poder cambiar la base de datos Oracle a modo archivado (archive log) hay que iniciarla en modo "mount" (montado). Para ello hay que detenerla e iniciarla con los siguientes comandos:
shutdown immediate;
Resultado comando:
Database closed.
Database dismounted.
ORACLE instance shut down.
La iniciamos en modo "mount" con el comando:
startup mount;
Resultado comando:
ORACLE instance started.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
Database mounted.
Para cambiar a modo archivado ejecutaremos el siguiente comando:
alter database archivelog;
Resultado comando:
Database altered.
Volveremos a inciar la base de datos:
alter database open;
Resultado comando:
Database altered.
Para activar el archivado automático comprobamos el valor del parámetro "log_archive_start", si está a "false" lo pondremos a "true". Para consultar el valor actual del parámetro ejecutaremos el siguiente comando:
show parameter log_archive_start;
Devolverá el siguiente resultado:
NAME TYPE VALUE
------------------- -------- --------
log_archive_start boolean FALSE
Modificaremos el parámetro "log_archive_start" a "true" con el siguiente comando:
alter system set LOG_ARCHIVE_START=TRUE SCOPE=spfile;
Resultado comando:
System altered.
Al ejecutar "SCOPE=spfile" haremos que los cambios se guarden definitivamente.
Para que los cambios tengan efecto es recomendable parar y volver a iniciar la base de datos:
shutdown immediate;
Iniciaremos la base de datos en modo normal:
startup;
Notas:
* Para comprobar en qué modo está la base de datos:
select log_mode from v$database;
Resultado:
LOG_MODE
-------------------------
NOARCHIVELOG (está en modo no archivado)
select log_mode from v$database;
LOG_MODE
--------------------
ARCHIVELOG (está en modo archivado)
Otra forma:
archive log list;
Resultado:
Database log mode Archive Mode
Automatic archival Enabled
Archive destination C:/oracle/ora92/RDBMS
Oldest online log sequence 395
Next log sequence to archive 397
Current log sequence 397
* Para ver el valor parámetro de archivado automático:
show parameter log_archive_start;
NAME TYPE VALUE
------------------- ----------- -----
log_archive_start boolean FALSE
DESACTIVAR EL MODO ARCHIVE LOG
Abriremos la aplicación SQL Plus de Oracle desde una ventana de MS-DOS ("Inicio" - "Ejecutar" - "cmd"):
sqlplus /nolog
Nos conectamos con un usuario con suficientes privilegios a la base de datos Oracle a la que queramos desactivarle el modo Archive Log (ARCHIVELOG), con el comando:
connect usuario/contraseña@NOMBRE_BASE_DATOS as sysdba
Ejecutamos el siguiente comando para desactivar el modo archive log:
alter system archive log stop;
Mostrará el siguiente resultado:
System altered.
Para comprobar que se ha desactivado correctamente:
archive log list;
Mostrará el siguiente resultado:
Database log mode Archive Mode
Automatic archival Disabled
Archive destination C:/oracle/oradata/bdtest/archive
Oldest online log sequence 70
Next log sequence to archive 72
Current log sequence 72
A continuación os mostramos todo el contenido de la ventana de MS-DOS:
C:>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on Fri Jul 14 12:30:36 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect /@BDLOCAL as sysdba;
Connected.
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL> show parameter log_archive_start;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
SQL> alter database archivelog;
alter database archivelog
*
ERROR at line 1:
ORA-01126: database must be mounted EXCLUSIVE and not open for this operation
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL> alter database open;
Database altered.
SQL> show parameter log_archive_start;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
SQL> alter system set LOG_ARCHIVE_START=TRUE SCOPE=spfile;
Sistema modificado.
SQL> show parameter log_archive_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
SQL> show parameter log_archive_dest
SQL> ALTER SYSTEM ARCHIVE LOG STOP;
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination C:/oracle/oradata/bdtest/archive
Oldest online log sequence 70
Next log sequence to archive 72
Current log sequence 72
Para realizar este manual hemos utilizado:
* Oracle Enterprise 9.2.
* Oracle XE.
* Windows XP.
Nota: Revisado por AjpdSoft el 26-07-2006.
por Anónimo | 08/02/2007 15:05:16
RE: ORA-00257
TENGO ESTE PROBLEMA, Y LO SOLUCIONO COMO USTEDES LO INDICAN, PERO EN EL DIA FUNCIONA Y AL SIGUIENTE DIA YA NO FUNCUIONA Y TENGO QUE VOLVER HACER TODO. EL DISCO C, SE LLENA, Y NO DEJA REPONER LOS REDOLOG.
por Anónimo | 25/07/2007 18:25:14
RE: ORA-00257
En mi caso fue tan simple como borrar algunos archive logs antiguos. Me preocupe por dejar los del ultimo mes y en cuanto quedaron eliminados, me permitio conectarme a la base de datos nuevamente.
Saludos.
por Anónimo | 26/07/2007 10:18:22
RE: ORA-00257
Siempre donde se almacenan los archivelog tiene que haber espacio, si no ... dara este error.
volviendo a activar los archivelog tras liberar espacio ( archive log start ) debería de solucionarse.
por anonimo | 03/01/2008 15:30:57
RE: ORA-00257
hola tengo seteada esta variable a 3G (db_recovery_file_dest_size=3G) y en el alert log me sale un mensaje donde dice k esta la 100\%, lo k hice fue mover y/o eliminar las archives k estan dentro de "/oracle/oracle/flash_recovery_area" k es la ruta de la variable (db_recovery_file_dest) solo deje los archive de este mes de enero, borre los anteriores a pesar de eso el error en el alert seguia igual, asi lo k hice fue aumentar de tamaño a 4G (db_recovery_file_dest_size=4G) eso soluciono por el momento pero ya esta ahora nuevamente al 75\% de uso, otra cosa que pude ver es que al momento de ejecutar esta consulta SELECT NAME FROM V$ARCHIVED_LOG me lista todos los archived de los meses anteriores tambien como si no hubiera borrado nada de /oracle/oracle/flash_recovery_area, por favor k puedo hacer.
Gracias... aki les mando algunas variables de mi BD.
SQL> show parameters archive
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
log_archive_config string
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
log_archive_duplex_dest string
log_archive_format string \%t_\%s_\%r.dbf
log_archive_local_first boolean TRUE
log_archive_max_processes integer 2
log_archive_min_succeed_dest integer 1
log_archive_start boolean FALSE
log_archive_trace integer 0
remote_archive_enable string true
standby_archive_dest string ?/dbs/arch
SQL> show parameters recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /oracle/oracle/flash_recovery_area
db_recovery_file_dest_size big integer 4G
recovery_parallelism integer 0
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 118
Next log sequence to archive 120
Current log sequence 120
y este es el mensaje que aparece en mi alter log:
db_recovery_file_dest_size of 4096 MB is 75.18\% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
por Andres T.N | 24/04/2009 19:53:51
RE: ORA-00257
limpie los archivos *. dbf y los *.trc
por Anonimo | 12/03/2010 07:03:18
RE: ORA-00257
Ve el tamaño de los arcade log a ver si se sobrepaso
por elrey.edison | 14/04/2011 21:41:58
RE: ORA-00257
Este error es cuando ya no hay espacion en los archives log, borrar los archives mas antiguos y solucionado.
usar el comando
find . -name \*.arc -mtime +3 -exec rm {} \;
y quedara solo los archives de 4 dias si hay de menos dias utilizar el tipico rm.