Resumen-Recomendación
A modo de resumen, vamos a ver cómo se puede hacer el backup periódico de la BBDD de una forma senclla y completa.
Lo dividimos en cuatro funciones distintas:
- Utilizar spfile cono fichero de parámetros
- Copia del fichero initSID.ora
- Configuración de RMAN
- Realización periódica de los backups.
Utilizar spfile como fichero de parámetros
Si la parametrización de la BBDD reside en el fichero initSID.ora, se recomienda cambiar el fichero initSID.ora por un fichero spfile.
Además de automatizar el backup, la utilización de spfile permite modificar el fichero de inicialización desde la propia BBDD.
Como saber si estamos utilizando un fichero spfile
Se puede saber si utilizamos fichero spfile entrando en sqlplus como usuario sysdba y ejecutando:
sqlplus "/ as sysdba" show parameters spfile
Si se devuelve un nombre de fichero, este fichero es el spfile.
Si por el contrario el nombre del fichero está vacio, nos indica que no utilizamos spfile
Convertir un fichero initSID.ora a spfile
Para convertir un fichero initSID.ora a spfile basta con ejecutar desde sqlplus y como sysdba:
sqlplus "/ as sysdba" CREATE SPFILE='/nombre/completo/fichero/spfile' FROM PFILE='/nombre/completo/fichero/initSID.ora'; shutdown immediate
A continuación, modificamos el fichero initSID.ora para que indique cual es el spfile.
El fichero initSID.ora debe contener:
spfile='/nombre/completo/fichero/spfile'
A continuación, ya podemos rearrancar la BBDD y comprovar que utilizamos el fichero spfile
sqlplus "/ as sysdba" startup show parameters spfile
Copia del fichero initSID.ora
Este fichero no se puede copiar con RMAN. Dado que su contenido no varia, se debe copiar una sola vez. Si se desea, se puede copiar a algún documento.
Configuración RMAN
Esta configuración se debe realizar una sola vez.
Recomendamos ejecutar los comandos (después de poner las variables de entorno de la BBDD):
rman target / nocatalog CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/nombre/completo/de/directorio/%U'; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/nombre/completo/de/directorio/%F'; SHOW ALL;
Estos comandos se deben ejecutar una sola vez y para cada BBDD.
Ejecución del Backup
Con esta configuración, el backup se puede reducir a la ejecución de:
rman target/ nocatalog BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;
Con esta sencilla línea, se hace copia de la BBDD, los ArchiveLogs y se borran los ArchiveLogs que se han copiado.
Es de destacar que, en este caso las operaciones ejecutadas son:
ALTERSYSTEMARCHIVELOGCURRENTBACKUPARCHIVELOGALLBACKUP DATABASEALTERSYSTEMARCHIVELOGCURRENTBACKUP del resto de los ArchiveLogs DELETE ARCHIVELOG ALL BACKED UP;
En particular, podemos observar que, los ArchiveLogs generados durante el backup del resto de los elementos también se incluyen en el backup.
Dado que la configuración indica CONTROLFILE AUTOBACKUP ON, a continuación se hará backup del controlfile y del spfile.
En el caso de RAC
En el caso de RAC, las operaciones de archivado del RedoLOg se ejecutan solo en un nodo. Para hacer el backup correcto, se deben ejecutar en todos y cada uno de los nodos.
Por esto, en caso de RAC, recomendamos:
rman target/ nocatalog BACKUP DATABASE; sql 'alter system archive log thread 1 current'; sql 'alter system archive log thread 2 current'; ... BACKUP ARCHIVELOG DELETE ALL INPUT;
(aunque hay muchos bugs al respecto....)
Backup independiente de ArchiveLogs
No hay ningún problema con mezclar el backup anterior con el backup solo de ArchiveLogs.
A veces, se debe realizar este backup para poder borrar los archiveLogs.
Para ello, basta con ejecutar el comando RMAN:
BACKUP ARCHIVELOG ALL DELETE INPUT;
