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>
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>
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>
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>
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>
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