Saltar al contenido

¿Cómo puedo realizar una copia de seguridad con RMAN de mi instancia de base de datos de Amazon RDS para Oracle?

7 minutos de lectura
0

Quiero usar Recovery Manager (RMAN) para realizar una copia de seguridad de mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle.

Resolución

Antes de realizar una copia de seguridad con RMAN de una instancia de base de datos de Amazon RDS para Oracle, ten en cuenta las siguientes limitaciones:

  • Al realizar una copia de seguridad con RMAN en la instancia de base de datos, consumes espacio del almacenamiento asignado para esa instancia. También puedes usar la integración de Amazon Elastic File System (Amazon EFS) para almacenar los archivos de copia de seguridad en un almacenamiento extendido sin aumentar el tamaño total de almacenamiento de la instancia de base de datos.
  • Funciones como la opción paralela para copias de seguridad, la compresión de copias de seguridad, la validación de bases de datos y el seguimiento de cambios de bloques están disponibles solo para los usuarios de Oracle Enterprise Edition. Para obtener más información, consulta Oracle Database Editions en el sitio web de Oracle.
  • Las funciones de RMAN no son compatibles con las réplicas de lectura de RDS para Oracle, pero puedes utilizar el seguimiento de cambios de bloques en las réplicas de lectura.
  • Tienes que activar las copias de seguridad automatizadas para las instancias de bases de datos antes de realizar una copia de seguridad con RMAN. Como las copias de seguridad con RMAN son operaciones en línea, el registro de archivado debe estar activado. Cuando activas la copia de seguridad automatizada en una instancia, también estableces la instancia de base de datos en el modo de registro de archivado.

Realizar una copia de seguridad con RMAN de una instancia de base de datos

Utiliza uno de los métodos siguientes para realizar la copia de seguridad con RMAN de la instancia de base de datos:

Para supervisar la cantidad de almacenamiento que consume el directorio, ejecuta la siguiente consulta:

SELECT round(SUM(filesize)/1024/1024/1024, 3) SIZE_IN_GB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));

Realizar una copia de seguridad completa de la base de datos de la instancia de base de datos

Cuando realizas una copia de seguridad completa de la base de datos, realizas una copia de seguridad de todos los archivos de datos de la instancia de base de datos. Esto incluye los archivos de control y el archivo de procedimientos almacenados.

Para realizar una copia de seguridad completa de la base de datos con el nombre de etiqueta Full_DB_BACKUP en DATA_PUMP_DIR con los parámetros de tarea predeterminados, ejecuta la siguiente consulta:

BEGIN
rdsadmin.rdsadmin_rman_util.backup_database_full(
p_owner => 'SYS',
p_directory_name => 'DATA_PUMP_DIR',
p_tag => 'FULL_DB_BACKUP',
p_rman_to_dbms_output => FALSE);
END;
/

Realizar una copia de seguridad incremental de la base de datos de la instancia de base de datos

Las copias de seguridad incrementales utilizan un parámetro adicional denominado p_level. Para realizar una copia de seguridad incremental completa, define p_level en 0. Para realizar una copia de seguridad incremental diferencial, define p_level en 1. Para obtener más información, consulta About RMAN incremental backups en el sitio web de Oracle.

Al igual que las copias de seguridad completas, las copias de seguridad incrementales para instancias de bases de datos de RDS para Oracle tienen parámetros comunes que puedes establecer antes de iniciar la copia de seguridad.

Para realizar una copia de seguridad incremental con el nombre de etiqueta MY_INCREMENTAL_BACKUP en el directorio DATA_PUMP_DIR con los parámetros de tarea predeterminados, ejecuta el siguiente procedimiento:

BEGIN
rdsadmin.rdsadmin_rman_util.backup_database_incremental(
 p_owner => 'SYS',
 p_directory_name => 'DATA_PUMP_DIR',
 p_level => 1,
 p_tag => 'MY_INCREMENTAL_BACKUP',
 p_rman_to_dbms_output => FALSE);
END;
/

Realizar una copia de seguridad del registro de archivado de la instancia de base de datos

Utiliza el paquete rdsadmin_rman_util de Amazon RDS para Oracle para hacer copias de seguridad de los registros de archivado en función del rango de SCN, el rango de números de secuencia y el rango de fechas.

Ejecuta el siguiente procedimiento para hacer una copia de seguridad de los registros de archivado de la instancia en el directorio ARCHIVE_LOG_BACKUP con el nombre de etiqueta LOG_BACKUP. Para modificar la configuración de las copias de seguridad de los registros de archivado, consulta Realizar tareas de RMAN comunes para instancias de bases de datos de Oracle.

--creating a directory to store archive log backups

EXEC rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'ARCHIVE_LOG_BACKUP');

--performing archive log backup

BEGIN
rdsadmin.rdsadmin_rman_util.backup_archivelog_all(
 p_owner               => 'SYS',
 p_directory_name      => 'ARCHIVE_LOG_BACKUP',
 p_tag                 => 'LOG_BACKUP',
 p_rman_to_dbms_output => FALSE);
END;
/

Realizar una copia de seguridad del espacio de tablas de la instancia de base de datos

Utiliza los parámetros comunes que se describen en Realizar copias de seguridad de un espacio de tablas para realizar una copia de seguridad de un espacio de tablas individual de la instancia de base de datos. El siguiente comando de ejemplo hace una copia de seguridad del espacio de tablas USERS1 en el directorio personalizado TB_BACKUP con el nombre de etiqueta MYTABLESPACE_BACKUP.

BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tablespace(
        p_owner               => 'SYS',
        p_directory_name      => 'TB_BACKUP',
        p_tablespace_name     => 'USERS1',
        p_tag                 => 'MYTABLESPACE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/

Nota: También puedes usar el procedimiento rdsadmin_rman_util para realizar la copia de seguridad del archivo de control. Para obtener más información, consulta Realizar copias de seguridad de un archivo de control.

Supervisar los trabajos de copia de seguridad con RMAN

Para supervisar las copias de seguridad con RMAN, utiliza consultas SQL o comprueba los archivos de registro que se generan para la tarea de RMAN.

Utiliza los siguientes métodos para acceder a los archivos de registro de los trabajos de copia de seguridad con RMAN:

  • Define p_rman_to_dbms_output en TRUE para la tarea de RMAN que deseas ejecutar. Asegúrate de establecer serveroutput en on antes de ejecutar el paquete rdsadmin_rman_util.

  • Para obtener una lista de los archivos del registro de tareas de RMAN, consulta la sección de registros y eventos de la consola de Amazon Aurora y RDS.

  • Si la tarea de copia de seguridad con RMAN está completa, también puedes ejecutar la siguiente consulta SQL para enumerar los registros de tareas de RMAN. A continuación, utiliza el procedimiento rdsadmin.rds_file_util.read_text_file para leer los registros. Para obtener más información, consulta Descripción de archivos.

    column filename format a70
    set linesize 200
    SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP')) where filename like '%rman%';
  • Para comprobar el tamaño del directorio en el que se almacena la copia de seguridad con RMAN, ejecuta primero la siguiente consulta. A continuación, supervisa el consumo de almacenamiento.

    SELECT round(SUM(filesize)/1024/1024, 3) SIZE_IN_MB FROM TABLE(rdsadmin.rds_file_util.listdir('<DIRECTORY_NAME>'));
  • Para mostrar el estado del trabajo de copia de seguridad con la cantidad de tiempo necesario para completar el trabajo de copia de seguridad con RMAN, ejecuta la siguiente consulta.

    set linesize 500 pagesize 2000
    col Hours format 9999.99
    col STATUS format a10
    select SESSION_KEY, INPUT_TYPE, STATUS,
    to_char(START_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_start_time,
    to_char(END_TIME,'mm-dd-yyyy hh24:mi:ss') as RMAN_Bkup_end_time,
    elapsed_seconds/3600 Hours from V$RMAN_BACKUP_JOB_DETAILS
    order by session_key;

Información relacionada

Realización de tareas diversas para instancias de base de datos de Oracle

Realización de tareas comunes relacionadas con el registro para instancias de base de datos Oracle

Archivos de registro de base de datos de Amazon RDS para Oracle

OFICIAL DE AWSActualizada hace 2 años