viernes, 26 de marzo de 2010

Activación de Respaldo con RMAN

Agradezco a mi compañero de universidad y amigo Juan José López por el aporte a mi blog de esta entrada, seguramente será en beneficio de muchas personas.

La base de datos es Oracle y el sistema operativo Linux RHEL.

Modo ArchiveLog
En el Modo ArchiveLog de la base de datos, la base de datos se asegura de que los ‘online redo logs’ no sean  sobrescritos antes que sean archivados.

Antes que Oracle cambie la información en un ‘datafile’, graba esos cambios en un redo log.  En caso de la pérdida de un ‘datafile’, a partir de una copia de respaldo de éste y aplicando los redo logs, se puede recuperar la información hasta antes de le pérdida de Información.

Activando Modo ArchiveLog
Para habilitar el modo archivelog, es necesario seguir los siguientes pasos:

a.Seleccionar la carpeta donde se van a generar los archivelogs.

Con el utilitario logwatch en el servidor podemos ver la utilización de los HHDD en el servidor:
[root@orarhel ~]# logwatch --p

 ################### Logwatch 7.3 (03/24/06) ####################
        Processing Initiated: Mon Mar 22 15:24:41 2010
        Date Range Processed: yesterday
                              ( 2010-Mar-21 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: orarhel  ##################################################################

 --------------------- Disk Space Begin ------------------------

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/VolGroup00-LogVol00
                       7.6G  3.1G  4.1G  44% /
 /dev/sda2              19G  173M   18G   1% /install
 /dev/sdb1              71G   51G   16G  77% /orcl
 /dev/sda1             190M   12M  169M   7% /boot
  ---------------------- Disk Space End -------------------------
 ###################### Logwatch End ###################

En la carpeta /install se creará la carpeta /orclArchive/; no se creará en la carpeta /orcl, para evitar que los archive llenen esa carpeta provocando que oracle se detenga por falta de espacio.

[root@orarhel install]# mkdir orclArchive
[root@orarhel install]# chown oracle orclArchive/

b.Verificar si se está en modo archive log:
Conectado como Sys:
    SQL> select log_mode from v$database ;
    LOG_MODE
    -------------------
    NOARCHIVELOG

c.Si no se encuentra en modo archive log:
Conectado como Sys.
Se definen los valores para guardar los archivelogs (ruta y formato de los archives)
SQL> show parameter log_archive_dest_1
NAME                          TYPE        VALUE
----------------- ----------- ------------------------------
log_archive_dest_1            string
log_archive_dest_10           string
SQL> ALTER SYSTEM SET log_archive_dest1=’location=’/install/orclArchive’ SCOPE=spfile;
SQL> ALTER SYSTEM SET log_archive_format='arch_%t_%s.arc' SCOPE=spfile;
Se debe iniciar la base de datos en modo mount, se debe detener la base de datos e iniciar en modo mount, cambiar a modo archivelog, y abrir la base de datos:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;

Para verificar la generación de los archivelogs se corre el siguiente comando:
SQL> alter system switch logfile ;
Se debe revisar la carpeta ‘/install/orclArchive’ y confirmar la generación del archivo.