Copia de seguridad de una base de datos en Object Storage mediante RMAN
En este artículo se explica cómo utilizar Recovery Manager (RMAN) para gestionar las copias de seguridad de la base de datos del sistema de base de datos en su propia instancia de Object Storage.
Para realizar una copia de seguridad en el servicio, deberá crear un cubo de Object Storage para las copias de seguridad, generar una contraseña para el servicio, instalar el módulo Oracle Database Cloud Backup y, a continuación, configurar RMAN para que envíe las copias de seguridad al servicio. El módulo de copia de seguridad es una interfaz de copia de seguridad del sistema en cinta (SBT) estrechamente integrada con RMAN, por lo que puede utilizar comandos RMAN conocidos para realizar operaciones de copia de seguridad y recuperación.
Observará que el Swift se menciona en la consola y en la URL de punto final del servicio. Esto se debe a que el módulo de copia de seguridad se utiliza normalmente para realizar una copia de seguridad en Oracle Database Backup Cloud Service, que es un almacén de objetos de OpenStack Swift.
Sugerencia:
En un sistema de base de datos de nodo único, puede utilizar DBCLI para realizar una copia de seguridad en Object Storage. Se trata de una alternativa a la instalación del módulo de copia de seguridad y al uso de RMAN para copias de seguridad. Para obtener más información, consulte Comandos de objectstoreswift. Tenga en cuenta que los comandosdbcli
no están disponibles para los sistemas de base de datos RAC de varios nodos.
Requisitos
Necesitará lo siguiente:
- Un sistema de base de datos y una base de datos para realizar una copia de seguridad de esta.
- La red en la nube (VCN) del sistema de base de datos debe estar configurada con acceso a Object Storage:
- Para acceder a Object Storage en la misma región que el sistema de base de datos: Oracle recomienda utilizar un gateway de servicio.
- Para acceder a Object Storage en una región diferente a la del sistema de base de datos: utilice un gateway de Internet. Tenga en cuenta que el tráfico de red entre el sistema de base de datos y Object Storage no sale de la nube y no llega a la red pública de Internet.
Para obtener más información, consulte VCN y subredes.
- Un cubo de Object Storage existente para utilizar como destino de copia de seguridad. Puede utilizar la consola o la API de Object Storage para crear el cubo.
Para obtener más información, consulte Gestión de cubos.
- Token de autenticación generado por OCI. Puede utilizar la consola o la API de IAM para generar la contraseña.
Para obtener más información, consulte Trabajar con tokens de autenticación en Gestión de credenciales de usuario.
-
El nombre de usuario (que se especifica al instalar y utilizar el módulo de copia de seguridad) debe tener acceso de nivel de arrendamiento a Object Storage. Una forma sencilla de hacerlo es agregar el nombre de usuario al grupo de administradores. Sin embargo, esto permite el acceso a todos los servicios en la nube. En su lugar, un administrador debe crear una política como la siguiente que limite el acceso solo a los recursos necesarios en Object Storage para realizar copias de seguridad de la base de datos y restaurarla:
Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>' Allow group <group_name> to read buckets in compartment <compartment_name>
Para obtener más información sobre cómo agregar un usuario a un grupo, consulte Gestión de grupos. Para obtener más información sobre las políticas, consulte Introducción a las políticas.
Instalación del módulo de copia de seguridad en el sistema de base de datos
- Utilice SSH para acceder al sistema de base de datos.
ssh -i <SSH_key_used_when_launching_the_DB_system> opc@<DB_system_IP_address_or_hostname>
- Conéctese como usuario
opc
.login as: opc
- Utilice
sudo
para el usuariooracle
.sudo su - oracle
- Cambie al directorio que contiene el archivo
opc_install.jar
del módulo de copia de seguridad.cd /opt/oracle/oak/pkgrepos/oss/odbcs
- Utilice la siguiente sintaxis de comandos para instalar el módulo de copia de seguridad.
java -jar opc_install.jar -opcId <user_id> -opcPass '<auth_token>' -container <bucket_name>;-walletDir ~/hsbtwallet/ -libDir ~/lib/ -configfile ~/config -host https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
Los parámetros son:
parámetro Descripción -opcId
Nombre de usuario de la cuenta de usuario de Oracle Cloud Infrastructure, por ejemplo:
-opcId <username>@<example>.com
.Este es el nombre de usuario que debe utilizar para conectarse a la consola.
El nombre de usuario debe ser miembro del grupo Administradores, como se describe en la sección Requisitos.
También puede especificar el nombre de usuario entre comillas simples. Esto podría ser necesario si el nombre contiene caracteres especiales, por ejemplo:
-opcId 'j~smith@<example>.com'
Asegúrese de utilizar comillas simples rectas y no apóstrofes inclinados.
-opcPass
Token de autenticación generado mediante la consola o la API de IAM, entre comillas simples, por ejemplo:
-opcPass <password>
Asegúrese de utilizar comillas simples rectas y no apóstrofes inclinados.
Para obtener más información, consulte Gestión de credenciales de usuario.
Esta no es la contraseña de usuario de Oracle Cloud Infrastructure.
-container
Nombre de un cubo existente en Object Storage que se utilizará como destino de copia de seguridad, por ejemplo:
-container DBBackups
-walletDir
Directorio en el que la herramienta de instalación creará una cartera de Oracle que contiene el nombre de usuario y el token de autenticación de Oracle Cloud Infrastructure.
-walletDir ~/hsbtwallet
crea la cartera en el directorio raíz (oracle) del usuario actual.-libDir
Directorio donde se almacena la biblioteca SBT. El directorio ya debe existir antes de ejecutar el comando. Este parámetro causa la descarga de la biblioteca SBT más reciente.
-libDir ~/lib/
descarga el archivolibopc.so
en el directorio raíz del usuario actual, por ejemplo,/home/oracle/lib/libopc.so
.-configfile
Nombre del archivo de parámetros de inicialización que creará la herramienta de instalación. Los trabajos de RMAN harán referencia a este archivo.
-configfile ~/config
crea el archivo en el directorio raíz del usuario actual, por ejemplo,/home/oracle/config
.-host
URL de punto final a la que se van a enviar las copias de seguridad:
https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
donde
object_storage_namespace
es el espacio de nombres de Object Storage de su arrendamiento. Para obtener más información, consulte Descripción de los espacios de nombres de Object Storage.No agregue una barra inclinada después del espacio de nombres de Object Storage.
Para buscar el nombre de la región, consulte Regiones y dominios de disponibilidad.
Configuración de RMAN
En este tema se describe cómo configurar RMAN para que utilice el cubo como destino de copia de seguridad por defecto. A continuación se asume que sigue conectado al sistema de base de datos.
- En el sistema de base de datos, defina las variables de entorno
ORACLE_HOME
yORACLE_SID
mediante la utilidadoraenv
.. oraenv
- Conéctese a la base de datos mediante RMAN.
rman target /
- Configure RMAN para utilizar el dispositivo SBT y apuntar al archivo
config
creado al instalar el módulo de copia de seguridad. A continuación se muestra un comando de ejemplo para una base de datos versión 12.CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/home/oracle/lib/libopc.so, SBT_PARMS=(OPC_PFILE=/home/oracle/config)';
- Configure RMAN para que utilice SBT_TAPE por defecto. En el siguiente ejemplo se activa la copia de seguridad automática de controlfile y spfile en SBT_TAPE y se configura el cifrado. Hay otros valores que se pueden aplicar a la instalación, como la compresión, el número de canales de copia de seguridad y recuperación que se utilizarán, la política de retención de copias de seguridad, la política de supresión de archive logs, etc. Consulte la documentación de Oracle Backup and Recovery de su versión de Oracle para obtener más información sobre la selección de los valores adecuados.
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; CONFIGURE ENCRYPTION FOR DATABASE ON;
Note:
Las copias de seguridad deben estar cifradas. Especificará el cifrado cuando realice una copia de seguridad. Aparecerá un error si una copia de seguridad no está cifrada.
Una vez completada la configuración de RMAN, puede utilizar los mismos comandos de RMAN que utilice normalmente para las copias de seguridad en cinta.
Copia de seguridad de base de datos
En este tema se proporcionan ejemplos de comandos de copia de seguridad de uso común.
- Definir el cifrado de la base de datos:
SET ENCRYPTION IDENTIFIED BY "password" ONLY;
Tenga en cuenta que este valor no es permanente; debe definirlo para cada nueva sesión de RMAN.
- Realizar una copia de seguridad de la base de datos y de los archive logs. A continuación se incluyen algunos ejemplos de comandos. Consulte la documentación de Oracle Backup and Recovery de su versión de Oracle para obtener más información sobre cómo seleccionar un procedimiento de copia de seguridad que se ajuste a sus necesidades. Asegúrese de realizar una copia de seguridad periódicamente para minimizar las posibles pérdidas de datos y de incluir siempre una copia de spfile y controlfile. Tenga en cuenta que en el siguiente ejemplo se utilizan copias de seguridad incrementales de varias secciones, que es una función incorporada en la 12c. Al utilizar 11g, omita la cláusula
section size
.BACKUP INCREMENTAL LEVEL 0 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE SECTION SIZE 512M DATABASE PLUS ARCHIVELOG;
- Realizar copias de seguridad de los archive logs con frecuencia para minimizar una posible pérdida de datos y mantener varias copias de seguridad como precaución.
BACKUP ARCHIVELOG ALL NOT BACKED UP 2 TIMES;
Cuando el trabajo de copia de seguridad se complete, podrá visualizar los archivos de copia de seguridad del cubo en la consola en la página Almacenamiento seleccionando Almacenamiento de objetos.