domingo, 9 de marzo de 2014

Como se Puede Poner una Base de Datos en Modo ARCHIVELOG

En unos de los ejemplos que siguen, necesitaré una base de datos en modo ARCHIVELOG. En otros, necesitaré una base de datos en modo NOARCHIVELOG. Por eso, os muestro como se puede cambiar una base de datos de modo NOARCHIVELOG a modo ARCHIVELOG. Nada más.  Explicaré la diferencia entre NOARCHIVELOG y ARCHIVELOG en el futuro.  Probé este ejemplo en Oracle 11.2.  Se puede ver el modo de una base de datos así:

SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL>

Se puede poner una base de datos en modo ARCHIVELOG con el comando alter database archivelog.  Pero si intentas a hacerlo cuando la base datos sea abierta, Oracle te da un error:

SQL> alter database archivelog
  2  /
alter database archivelog
*
ERROR en l
ínea 1:
ORA-01126: la base de datos debe estar montada en esta instancia y no estar  abierta en ninguna instancia

SQL>

Para evitar este error, hay que montar la base de datos. Pensaba que podría hacerlo de la manera siguiente:

SQL> startup force mount
Instancia ORACLE iniciada.


Total System Global Area  523108352 bytes
Fixed Size                  1375704 bytes
Variable Size             327156264 bytes
Database Buffers          188743680 bytes
Redo Buffers                5832704 bytes
Base de datos montada.
SQL>

Pero después, cuando intenté a cambiar el modo, Oracle me dio otro error:

SQL> alter database archivelog
  2  /
alter database archivelog
*
ERROR en l
ínea 1:
ORA-00265: es necesario recuperar la instancia, no se puede definir el modo ARCHIVELOG

SQL> 

Luego tuve que abrir y cerrar la base de datos antes de montarla: 

SQL> alter database open
  2  /

Base de datos modificada.

SQL> shutdown
Base de datos cerrada.
Base de datos desmontada.
Instancia ORACLE cerrada.
SQL> startup mount
Instancia ORACLE iniciada.

Total System Global Area  523108352 bytes
Fixed Size                  1375704 bytes
Variable Size             327156264 bytes
Database Buffers          188743680 bytes
Redo Buffers                5832704 bytes
Base de datos montada.
SQL>

Entonces pude por fin poner la base de datos en modo ARCHIVELOG y abrirla: 

SQL> alter database archivelog
  2  /

Base de datos modificada.

SQL> alter database open
  2  /

Base de datos modificada.

SQL> select log_mode from v$database
  2  /

LOG_MODE
------------
ARCHIVELOG

SQL>

No hay comentarios:

Publicar un comentario