Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

Oracle: Cómo activar y desactivar el modo de archive log de una base de datos Oracle 9i
Bases de Datos


Mostramos cómo activar y desactivar el modo de archivelog (archivado automático) de una base de datos Oracle Database 9i. 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.
Anuncios


Enviado el Domingo, 23 julio a las 13:56:50 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A