Backup de cada elemento

En este apartado veremos cómo hacer Backup con comandos RMAN de cada uno de los elementos de la BBDD.

Guardar el DBID de la BBDD

Para poder restaurar en caso de pérdida total, es necesario guardar el DBID de la BBDD.

Es un número único para cada BBDD,

Para obtenerlo:

sqlplus "/ as sysdba"

Select dbid from v$database;

 

Backup del fichero initSID.ora

RMAN no permite hacer backup de este fichero.

No obstante, RMAN si permite hacer backup del fichero de inicialización spfile.

La utilización de spfile en lugar de initSID.ora como fichero de inicialización tiene suficientes ventajas como para aconsejar la utilización de spfile en cualquier BBDD.

Por tanto, aconsejamos utilizar spfile como fichero de inicialización.

De esta forma, el fichero initSID.ora solo contiene una línea:

spfile='/nombre/completo/del/fichero/spfile'

y su backup se hace copiando esta linea en la documentación de la instalación.

Backup de los ficheros spfile y controlfile

Tenemos dos formas básicas de hacer el backup de estos ficheros:

Backup manual

El backup manual se puede realizar ejecutando los comandos RMAN:

BACKUP CURRENT CONTROLFILE FORMAT 'nombre del fichero';
BACKUP SPFILE FORMAT 'nombre del fichero';

Estas sentencias copian el controlfile y el spfile al lugar indicado.

Backup automático

Se puede configurar RMAN para que haga backup del controlfile y del spfile cada vez que se haga un backup (y después de haber finalizado el backup).

Recomendamos utilizar esta facilidad de RMAN.

Para ello,hay que configurar RMAN una sola vez (y por cada BBDD).

Los comandos RMAN a ejecutar son:

CONFIGURE CONTROLFILE AUTOBACKUP ON; 
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/directorio/completo/%F';

Nota: si se desea hacer el bakup del controlfile en la FlashArea, basta con indicar el nombre raiz, no el path completo: Se creará un árbol específico para el backup del controlfile y del spfile.

La primera linea indica que se debe ejcutar este backup automático.

La segunda indica dónde se deben dejar los ficheros. Si no se ejecuta esta segunda línea, los backups se dejarán en el directorio de defecto:

  • Si se utiliza FlashArea: en la FlashArea.
  • Si no: en el directorio $ORACLE_HOME/dbs

En cualquier momento, podemos ver la configuración de RMAN ejecutando la sentencia RMAN:

SHOW ALL;

Backup de los Datafiles o BBDD

La forma primaria de realizar el backup de toda la BBDD es ejecutando la sentencia RMAN:

BACKUP DEVICE TYPE DISK DATABASE FORMAT '/disk1/backup/%U';

Textualment, se indica:

  • Backup de toda la BBDD
  • Backup a disco
  • Directorio donde dejar el backup
  • Formato de los ficheros: %U

RMAN generará uno o varios ficheros en formato backupset: este es un formato binario, no documentado y manejable solo a través de RMAN.

De forma alternativa, podemos configurar como ejecutar el backup por defecto.

Para ello,hay que configurar RMAN una sola vez (y por cada BBDD).

Los comandos RMAN a ejecutar son:

CONFIGURE DEFAULT DEVICE TYPE TO disk;
CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/disk1/backup/%U';

Con esta configuación de defecto, se puede ejecutar el backup con la sentencia RMAN:

BACKUP DATABASE;

Backup de los ArchiveLog

De forma parecida al backup de la BBDD, se puede realizar un backup de los ArchiveLogs ejecutando el comando RMAN:

BACKUP DEVICE TYPE DISK ARCHIVELOG ALL FORMAT '/disk1/backup/%U';

Si tenemos la configuración de defecto indicada en el backup de la BBDD, el backup de los ArchiveLog se reducce al comando:

BACKUP ARCHIVELOG ALL;

Recuérdese que un backup completo debe incluir los ArchiveLogs generados durante la copia de los datafiles.

Borrado de los ArchiveLogs

Como veremos más adelante, cuando se utiliza RMAN, es muy importante no borrar los ficheros ArchiveLogs con comandos del S.O. tipo rm o similar.

Además, también es muy importante que, antes de borrar un ArchiveLog, se haya hecho backup del mismo.

RMAN permite el borrado de los ArchiveLogs mediante el comando RMAN:

DELETE ARCHIVELOG ALL BACKED UP TO DEVICE TYPE disk;

Como puede sobreentenderse, esta sentencia borrará los ArchiveLogs que tengan un backup realizado.

Backup y Borrado de ArchiveLogs

RMAN permite realizar el backup y borrado de los ArchiveLogs en una única sentencia RMAN:

BACKUP ARCHIVELOG ALL DELETE INPUT;

Esta sentencia hace backup de los ArchiveLogs y, después, los borra.

Si se desea liberar espacio del directorio de los ArchiveLogs, se recomienda ejecutar esta sentencia RMAN.