Backup del Controfile
Los controlfiles son ficheros básicos para el funcionamiento de la base de datos, incluso, si éste fichero está corrupto, o por alguna razón se ha borrado, no podremos arrancar la base de datos. De hecho, ni siquiera podríamos arrancar la base de datos en modo MOUNT.
Hagamos un SHOW ALLpara mostrar los parámetros de configuración de RMAN. Y observemos el parámetro CONTROLFILE AUTOBACKUP, que en el video anterior le habiamos puesto valor ON y de esta manera siempre que hagamos un backup de la base de datos, o incluso de un tablespace, datafiles, etc., RMAN hará de forma automática también un backup del fichero de control y el fichero de parámetros de la base de datos o SPFILE.
Es muy recomendable tener esta propiedad en ON, así evitamos el no recordar hacer backups de los ficheros de control, aunque también podemos hacer backups sólo del fichero de control y el spfile, como veremos en este video.
Por ejemplo, cuando se hacen cambios estructurales, como añadir tablespaces, es recomendable hacer algún backup del fichero de control, ya que esto significa un cambio importante, sobre todo en la estructura de la base de datos. Veamos entonces cómo podemos hacer un backup de forma manual del fichero de control y el spfile.
Para ello escribimos el comando:
- BACKUP CURRENTE CONTROLFILE
Con esto le estamos indicando a RMAN que necesitamos hacer un backup del fichero de control y del spfile de la base de datos correspondiente. Y vemos que arranca el proceso de backup. Podemos observar que el backup de un controlfile se comporta de manera muy parecida a los demás backups que hemos hecho. RMAN, abre un canal, y va creando una piece, que se va a almacenar dentro del directorio backupset de la FRA de la base de datos.
Pero, como tenemos la opción CONTROLFILE AUTOBACKUP con valor ON, entonces estamos haciendo este backup dos veces, solo que esta copia, la que hace automática, la almacena dentro del directorio AUTOBACKUP.
O sea, hace un backup del controlfile porque se lo hemos ordenado con el comando BACKUP CURRENTE CONTROLFILE, que lo almacena en el directorio backupset, y hace otro backup de forma automática porque tenemos la propiedad CONTROLFILE AUTOBACKUP en ON, y lo almacena en el directorio AUTOBACKUP.
Otra opción que tenemos de hacer un backup manual de un controlfile, es hacerlo junto a cualquier otro backup. Esto tendria mucho sentido sólo si tenemos la propiedad CONTROLFILE AUTOBACKUP en OFF. Pero vamos a hacerlo solo para mostrar que efectivamente, podemos indicarle de forma manual que haga un backup del fichero de control y el spfile, al mismo tiempo que estamos haciendo cualquier otro tipo de backpu.
Por ejemplo, vamos a hacer un backup de la tablespace NOMBRES, y en la misma sentencia, vamos a indicarle que también haga un backup del controlfile, como si no tuviéramos activada la propiedad que permite hacerlos de forma automática. Para ello escribimos el comando:
- BACKUP TABLESPACE NOMBRES INCLUDE CURRENT CONTROLFILE
Y si los comandos están bien escritos, arranca el proceso de backup.
Una vez termine, vemos que nos muestra que ha creado una piece de backup que va a almacenar en el directorio backupset correspondiente a la tablespace NOMBRES. Y debajo, vemos que se nos indica que en este backup está incluyendo al fichero de control y nos muestra también la piece que ha creado para almacenar este backup. Vemos que lo almacena también dentro del directorio backupset.
¿Pero qué pasa?, sumado a lo anterior, tenemos activada la opción que hace que RMAN, además de los backups que se indiquen, siempre haga una copia del fichero de control y del spfile. Entonces este backup va a generar tambi
controlfile