Oracle Backup y
Recovery
© Rogelio García
Oracle Backup y Recovery
Un Backup es una copia de los datos de la base de datos que puede usarse para su reconstrucción. El backup puede ser
físico o lógico y puede ser realizado “en frío” o “en caliente”.
El propósito de una estrategia de copias de seguridad y recuperación es proteger la base de datos contra pérdidas de
datos y reconstruirla después de una pérdida. En organizaciones grandes puede existir el perfil de administrador de
copias de seguridad.
Las tareas de administración de copias de seguridad incluyen lo siguiente:
• Planificar y probar respuestas ante diferentes tipos de fallos.
• Configurar el entorno de la base de datos para las copias de seguridad y la recuperación.
• Establecer una programación de copias de seguridad.
• Supervisar el entorno de copias de seguridad y recuperación.
• Solucionar problemas de copia de seguridad.
• Recuperarse de la pérdida de datos si surge la necesidad.
El administrador de copias de seguridad, puede realizar otras tareas relacionadas con las copias de seguridad y la
recuperación:
• Archivado de datos, que implica crear una copia de la base de datos para su almacenamiento a largo plazo
• Transferencia de datos, que implica mover datos de una base de datos o de un host a otro
Backup Físico
El Backup físico consiste en realizar una copia de los ficheros físicos usados para almacenar y recuperar la base de
datos. Incluyen archivos de datos, archivos de control y registros de rehacer archivados.
Las copias de seguridad físicas son la base de cualquier estrategia sólida de copia de seguridad y recuperación.
El backup podemos realizarlo:
• En frío. Se hace una copia directa de los ficheros esenciales de nuestra base de datos con la base de datos parada.
Son muy seguros y completos. Su restauración debe realizarse también con la BD parada.
• En caliente. Se realiza con la base de datos abierta. Cualquier cambio realizado en la BD durante el proceso se
registra también en la copia de seguridad. La BD debe estar en modo ARCHIVELOG
Uno de los factores más determinantes par elegir el tipo de backup a usar es la tolerancia al tiempo de inactividad.
Para la realización de los procesos de Backup y recuperación, Oracle dispone de un entorno cliente específico: RMAN
RMAN asigna sesiones del servidor de la Base de datos para que se realicen a
través de ellas las operaciones de respaldo y recuperación creando para ello un
canal (Linux) o un Thread (Windows). RMAN puede usar canales automáticos o
creados manualmente para las operaciones de backup y recuperación
Backup Físico EN FRÍO sin usar RMAN
1 Obtener una lista actualizada de todos los ficheros relevantes: select VALUE from V$PARAMETER where name= 'control_files';
• ficheros de datos (V$DATAFILE)
• Ficheros de control (V$CONTROLFILE)
• Ficheros de redo log.
select MEMBER from V$LOGFILE;
• Ficheros archivados de redo log en caso de estar activo.
• Ficheros de password.
• Ficheros de configuración de red (tnsnames.ora,
listener.ora y sqlnet.ora)
• Ficheros de inicialización (SPFILE)
select NAME, VALUE from V$PARAMETER
select NAME from V$DATAFILE; where name LIKE '%pfile%';
C:\Oracle21\homes\OraDB21Home1\network\admin
Backup Físico EN FRÍO sin usar RMAN
Comprobamos si la base de datos está en modo ARCHIVELOG 2 Parar la base de datos, previo aviso a todos los usuarios para
que finalicen sus transacciones y cierren las sesiones
select LOG_MODE from V$DATABASE;
SHUTDOWN IMMEDIATE;
Podemos comprobarlo también con 3 Copiar los ficheros necesarios y empaquetarlos en un fichero
.tar o .gz
ARCHIVE LOG LIST
4 Arrancar la base de datos
STARTUP;
El modo ARCHIVELOG permite realizar una copia de seguridad “en caliente” ya
que todos los cambios realizados en la BD se almacenan en los archivos de log
Lo más apropiado sería crear un script para copiar
Si estuviera en modo ARCHIVELOG debemos copiar también
los archivos de log
los ficheros y otro para restaurarlos
show parameters archive_dest En Linux, por ejemplo, podemos programar una
tarea temporal en el servidor usando cron para
select NAME from V$PARAMETER
automatizar el backup. En Windows podríamos usar
where name LIKE 'log_archive_dest%';
el Programador de tareas.
RECOVERY Físico EN FRÍO sin usar RMAN
Borramos la pdb XEPDB1 para comprobar la restauración 4 Comprobar que podemos conectarnos y tenemos la pdb
borrada.
ALTER PLUGGABLE DATABASE XEPDB1 CLOSE;
Select CON_ID, NAME, OPEN_MODE from V$containers;
DROP PLUGGABLE DATABASE XEPDB1 INCLUDING DATAFILES;
1 Parar la base de datos, previo aviso a todos los usuarios para
que finalicen sus transacciones y cierren las sesiones
SHUTDOWN IMMEDIATE;
2 Copiar los ficheros de la copia de seguridad a sus ubicaciones
originales
3 Conectarse a la instancia inactiva y arrancar la base de datos
STARTUP;
Backup Físico EN FRÍO usando RMAN (I)
Comprobamos la carpeta dónde se almacenan las copias de 3 Abrimos el cliente RMAN desde cmd
seguridad
select CON_ID, DIRECTORY_NAME, DIRECTORY_PATH
from CDB_DIRECTORIES where
directory_name='DATA_PUMP_DIR';
1 Paramos la BD 2 Arrancamos la BD en estado
MOUNT
Los canales de RMAN (channels)
Otra forma de conectarnos…
Ver la configuración de RMAN
Backup Físico EN FRÍO usando RMAN (I)
Otra forma de conectarnos…
Ver la configuración de RMAN
Configuración de RMAN (I)
RETENCION POLICY. Permite establecer el número de copias de cada Configurar la política de retención a 2 copias
fichero (REDUNDANCY) o el número de días (RECOVERY WINDOW) con
el fin de marcar como obsoletas y borrar desde RMAN las copias configure retention policy to redundancy 2;
antiguas.
Restablecer la política de retención al valor por defecto
Comprobar la política de retención
configure retention policy clear;
show retention policy;
Mostrar las copias obsoletas
report obsolete;
Eliminar las copias obsoletas
delete obsolete;
Desactivar las políticas de retención
configure retention policy to none;
Configurar la política de retención a 15 días
Comprobar en SQL Developer como se pueden modificar las políticas de
configure retention policy to recovery window of 15 days; retención y el comando RMAN correspondiente
Configuración de RMAN (II)
DEFAULT DEVICE TYPE. Permite establecer tipo de dispositivo de destino DEVICE TYPE BACKUP PARALLELISM. Permite a RMAN usar procesos en
de la copia. paralelo (canales) para ejecutar la copia de seguridad. Se establece un
canal por dispositivo
Configurar el dispositivo destino de las copias por defecto
Establecer a 3 el número de procesos en paralelo usados para
configure default device type to disk;
realizar la copia de seguridad
BACKUP OPTIMIZATION. Permite omitir la copia de seguridad de los configure device type disk parallelism 3;
archivos que RMAN determina que ya se ha realizado una copia de
seguridad (la decisión se ve afectada por la política de retención definida) Restaurar el número de procesos en paralelo usados
Activar la optimización del backup configure device type disk clear;
DATAFILE BACKUP COPIES. Determina el número de copias de los
configure backup optimization on;
archivos de datos que se realizarán durante la copia de seguridad.
Podemos especificar ubicaciones diferentes para cada copia usando
CONTROLFILE AUTOBACKUP. Realiza automáticamente una copia del
FORMAT (copia en espejo)
archivo de control y del archivo de parámetros (spfile) después de
ejecutar cualquier comando que realice una copia de seguridad. Esto Establecer a 3 el número de copias de los ficheros de datos
permite arrancar la BD usando esta copia en caso de problemas con la
copia de seguridad. La BD de producción debería tenerlo activado. configure datafile backup copies for device type disk to 3;
Desactivar el backup automático del control file
configure controlfile autobackup off;
Configuración de RMAN (III)
ARCHIVELOG BACKUP COPIES. Permite Establecer
Configurar configure
configure
ARCHIVELOG DELETION POLICY. Permite
ENCRYPTION FOR DATABASE. Permite
Establecer
Activar
configure
configure
Restaurar
COMPRESSION ALGORITHM. Realiza
configure
SNAPSHOT CONTROLFILE NAME. Determina
Establecer
Desactivar
configure
configure
Configuración de RMAN en SQL developer
Debemos usar una conexión como sysdba a través del panel DBA
Modificación de la configuración de RMAN
Comprueba que las opciones mostradas corresponden a la
configuración mostrada desde RMAN con el comando SHOW ALL
Backup Físico EN FRÍO usando RMAN (II)
4 Crear la copia de seguridad BACKUP DATABASE realiza únicamente el backup del contenedor al que
estamos conectados (CDB o PDB). Para un backup completo se debería
realizar también el backup del CDB y de cada una de las pdb
5 Arrancar la BD
Borramos la pdb XEPDB1
ALTER PLUGGABLE DATABASE XEPDB1 CLOSE;
DROP PLUGGABLE DATABASE XEPDB1 INCLUDING DATAFILES;
la opción NORESETLOGS es el
valor por defecto, por lo que no
sería necesario especificarlo
Backup Físico EN FRÍO usando RMAN (III)
6 Crear la copia de seguridad de las pdb Se especifica la opción RESETLOGS si queremos que se resincronice y
actualice el archivo de control y que no se usen los redologs más
antiguos (modo archivelog). Se debe usar cuando se realice una
BACKUP PLUGGABLE DATABASE XEPDB1, ESQUEMASORACLE; recuperación mediante BACKUP CONTROLFILE o se realice una
recuperación incompleta.
Podríamos realizarlo con BACKUP DATABASE si nos conectamos a la pdb
en lugar de al CDB
ORACLE-BASE - Multitenant : Backup and Recovery of a Container Database (CDB) and a
Pluggable Database (PDB) in Oracle Database 12c Release 1 (12.1)