Respaldar Bases de Datos Oracle con RMAN hacia un Disco Local
Introducción
Para nuestro ambiente de Base de Datos Oracle en Google Cloud Platform realizaremos la configuracion de RMAN para poder respaldar y recuperar nuestras instancias cuando así los requieran nuestras pruebas.
Vamos a configurar las opciones de RMAN
para que los respaldos de la base de datos sean redireccionados hacía nuestro disco de RMAN y poder minimizar el espacio requerido para almacenar los respaldos.
Prerrequisitos
Recientemente creamos una instancia multitenant patodb
en Oracle 19c con una base pluggabletaller
corriendo en una Virtual Machine Instance en Google Cloud Platform.
Para ver los pasos de creación revisar Crear una Base de Datos Oracle Multitenant en Modo Silencioso.
Configuración de RMAN
Necesitamos definir los parametros de configuración de RMAN con el fin de guardar nuestros respaldo dentro del Disco de Google Compute Engine para respaldos de RMAN montado en nuestra Virtual Machine patoracle
.
Mostrar la Configuración Actual
Primero necesitamos revistar nuestra configuración actual con el comando show all
:
[oracle@patoracle respaldo]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed May 27 20:11:41 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: PATODB (DBID=1820073908)
RMAN> show all;
RMAN configuration parameters for database with db_unique_name PATODB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/oracle/product/19c/dbhome_1/dbs/snapcf_patodb.f'; # default
Podemos ver que nuestros respaldo ya están direccionados a disco: CONFIGURE DEFAULT DEVICE TYPE TO DISK
entonces ningún cambio aquí.
Configurar el Directorio para Respaldo de Archivos de Datos
Ahora vamos a configurar el directorio destino y el formato para nombrar nuestros respaldos.
Nuestro directorio en nuestro disco montado es /rman/respaldo
y vamos a nombrar nuestros respaldo con:
%d
nombre de la base de datos%T
año, mes, día AAAAMMDD%u
identificador único del backupset
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/rman/respaldo/%d_%T_%u.bkp';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/rman/respaldo/%d_%T_%u.bkp';
new RMAN configuration parameters are successfully stored
Para más información sobre el nombrado revisar la documentacion acerca de las variables de sustición en RMAN.
Configurar el Directorio para Respaldo de Archivo de Control
Ahora hacemos lo mismo para el autorespaldo del controlfile.
El directorio en nuestro disco montado is /rman/controlfile
y vamos a nombrar nuestros respaldos con %F
ya que es la única sustitución aceptada.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/rman/controlfile/%F.bkp';
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/rman/controlfile/%F.bkp';
new RMAN configuration parameters are successfully stored
Configurar la Compresión
Con el fin de ahorrar espacio vamos a configurar nuestros respaldos para que sean comprimidos:
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
new RMAN configuration parameters are successfully stored
Configurar la Optimización de Resplados
Finalmente vamos a configurar la optimización para ignorar aquellos archivos de datos que ya hayan sido respaldados y cuyo contenido no ha cambiado.
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters:
CONFIGURE BACKUP OPTIMIZATION ON;
new RMAN configuration parameters are successfully stored
Validar la Configuración de RMAN
Vamos a realizar un respaldo del tablespace system
con el fin de validar tanto el respaldo de archivos de datos como del controlfile.
[oracle@patoracle ~]$ rman target /
Recovery Manager: Release 19.0.0.0.0 - Production on Wed May 27 21:09:40 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
connected to target database: PATODB (DBID=1820073908)
RMAN> backup datafile 1;
Starting backup at 27-MAY-20
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=37 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/oradata/cdbs/PATODB/system01.dbf
channel ORA_DISK_1: starting piece 1 at 27-MAY-20
channel ORA_DISK_1: finished piece 1 at 27-MAY-20
piece handle=/rman/respaldo/PATODB_20200527_1uv23mdo.bkp tag=TAG20200527T211016 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
Finished backup at 27-MAY-20
Starting Control File and SPFILE Autobackup at 27-MAY-20
piece handle=/rman/controlfile/c-1820073908-20200527-0d.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 27-MAY-20
RMAN> exit
Recovery Manager complete.
De la salida podemos ver que los respaldos fueron redireccionados a nuestro disco de RMAN.
piece handle=/rman/respaldo/PATODB_20200527_1uv23mdo.bkp
piece handle=/rman/controlfile/c-1820073908-20200527-0d.bkp
Revisemos directamente en el sistema operativo:
[oracle@patoracle ~]$ ls /rman/controlfile
c-1820073908-20200527-0d.bkp
[oracle@patoracle ~]$ ls /rman/respaldo
PATODB_20200527_1uv23mdo.bkp
Hemos configurado exitosamente el RMAN para direccionar los respaldos a nuestro disco!
Conclusión
Configurar los parámetros de RMAN nos ayuda a guardar de forma transparente nuestros respaldos en nuestro Disco de Google dentro de los directorios designados para cada tipo y además reduciendo el espacio requerido para conservar los respaldos de la base de datos.