Copia de seguridad y recuperación de Oracle Database en una máquina virtual Azure Linux mediante Azure Backup
Se aplica a: ✔️ Máquinas virtuales Linux
En este artículo, se muestra el uso de Azure Backup para tomar instantáneas de disco de los discos de la máquina virtual (VM), que incluyen los archivos de Oracle Database y el área de recuperación rápida. Con Azure Backup puede tomar instantáneas completas de disco que son adecuadas como copias de seguridad y se almacenan en un almacén de Recovery Services.
Azure Backup también proporciona copias de seguridad consistentes entre aplicaciones, lo que garantiza que no se van a necesitar más correcciones para restaurar los datos. Las copias de seguridad consistentes entre aplicaciones funcionan tanto con el sistema de archivos como con las bases de datos del Administrador automático de almacenamiento de Oracle (ASM).
La restauración de datos consistentes entre aplicaciones reduce el tiempo de restauración, por lo que puede volver rápidamente a un estado de ejecución. La recuperación de Oracle Database sigue siendo necesaria después de la restauración. Facilita la recuperación mediante archivos de registro de puesta al día archivados de Oracle que se capturan y almacenan en un recurso compartido de archivos de Azure independiente.
Este artículo lo guiará a través de las tareas siguientes:
- Creación de copias de seguridad de la base de datos con copias de seguridad consistentes entre aplicaciones.
- Restauración y recuperación de la base de datos a partir de un punto de recuperación.
- Restauración de la máquina virtual desde un punto de recuperación.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
Para llevar a cabo el proceso de copia de seguridad y recuperación, primero debe crear una máquina virtual Linux que tenga una instancia de Oracle Database 12.1 o posterior instalada.
Cree una instancia de Oracle Database siguiendo los pasos descritos en Crear una instancia de Oracle Database en una VM Azure.
Preparación del entorno
Para preparar el entorno, realice estos pasos:
- Conecte a la máquina virtual.
- Configuración de Azure File Storage.
- Preparación de las bases de datos.
Conexión a la máquina virtual
Para crear una sesión de Secure Shell (SSH) con la máquina virtual, use el siguiente comando. Sustituya
<publicIpAddress>
por el valor de la dirección pública de su VM.ssh azureuser@<publicIpAddress>
Cambie al usuario root:
sudo su -
Añada el usuario
oracle
al archivo /etc/sudoers:echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Configuración de almacenamiento de Azure File para los archivos de registro de la fase de puesta al día archivados de Oracle
Los archivos de registro de puesta al día archivados de la instancia de Oracle Database desempeñan un papel fundamental en la recuperación de la base de datos. Almacenan las transacciones confirmadas necesarias para avanzar desde una instantánea de base de datos tomada en el pasado.
Cuando la base de datos está en modo ARCHIVELOG
, archiva el contenido de los archivos de registro de la fase de puesta al día en línea cuando se llenan y cambian. Junto con una copia de seguridad, son necesarios para lograr la restauración a un momento dado cuando se pierde la base de datos.
Oracle proporciona la capacidad de archivar los archivos de registro de fase de puesta al día en diferentes ubicaciones. El procedimiento recomendado por el sector es que al menos uno de esos destinos debe estar en un almacenamiento remoto, de modo que esté separado del almacenamiento del host y protegido con instantáneas independientes. Azure Files cumple esos requisitos.
Un recurso compartido de archivos de Azure es un almacenamiento que se asocia a una máquina virtual Linux o Windows como componente normal del sistema de archivos, mediante el protocolo Bloque de mensajes del servidor (SMB) o sistema de archivos de red (NFS). Para configurar un recurso compartido de archivos de Azure en Linux (mediante el protocolo SMB 3.0) para su uso como almacenamiento de registros de archivo, consulte Montaje de un recurso compartido de archivos de SMB de Azure en Linux. Cuando complete la configuración, vuelva a esta guía y complete todos los pasos restantes.
Preparación de las bases de datos
En esta parte del proceso se supone que ha seguido Creación de una instancia de Oracle Database en una máquina virtual de Azure. Como resultado:
- Tiene una instancia de Oracle denominada
oratest1
que se ejecuta en una máquina virtual denominadavmoracle19c
. - Usa el script
oraenv
estándar de Oracle estándar con su dependencia del archivo de configuración estándar de Oracle /etc/oratab para configurar variables de entorno en una sesión del shell.
Realice los pasos siguientes para cada base de datos de la máquina virtual:
Cambie al usuario
oracle
:sudo su - oracle
Establezca la variable de entorno
ORACLE_SID
ejecutando el scriptoraenv
. Se le pide que escriba el nombre deORACLE_SID
.. oraenv
Agregue el recurso compartido de archivos de Azure como otro destino para los archivos de registro de archivo de base de datos.
En este paso se supone que ha configurado y montado un recurso compartido de archivos de Azure en la máquina virtual Linux. Por cada base de datos instalada en la máquina virtual, cree un subdirectorio con el nombre del Id. de seguridad de la base de datos (SID).
En este ejemplo, el nombre del punto de montaje es
/backup
y el SID esoratest1
. Por lo tanto, cree el subdirectorio/backup/oratest1
y cambie la propiedad al usuariooracle
. Sustituya/backup/SID
por el nombre del punto de montaje y el identificador de seguridad de la base de datos.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Conéctese a la base de datos:
sqlplus / as sysdba
Inicie la base de datos, si no se está ejecutando todavía:
SQL> startup
Establezca el primer destino de registro de archivo de la base de datos en el directorio file-share que creó anteriormente:
SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
Defina el objetivo de punto de recuperación (RPO) de la base de datos.
Para lograr un RPO coherente, considere la frecuencia con la que se archivan los archivos de registro de la fase de puesta al día en línea. Estos factores controlan la frecuencia:
- El tamaño de los archivos de registro de la fase de puesta al día en línea. A medida que un archivo de registro en línea se llena, se cambia y se archiva. Cuanto mayor sea el archivo de registro en línea, más tiempo tardará en rellenarse. El tiempo agregado reduce la frecuencia de generación del archivo.
- La configuración del parámetro
ARCHIVE_LAG_TARGET
controla el número máximo de segundos permitidos antes de que el archivo de registro en línea actual se deba cambiar y archivar.
Para minimizar la frecuencia de conmutación y archivado, junto con la operación de punto de comprobación correspondiente, los archivos de registro de puesta al día en línea de Oracle suelen tener un tamaño grande (por ejemplo, 1024M, 4096M o 8,192M). En un entorno de base de datos ocupado, es probable que los registros cambien y se archiven cada pocos segundos o minutos. En una base de datos menos activa pueden pasar horas o días antes de que se archiven las transacciones más recientes, lo que reduciría considerablemente la frecuencia de archivado.
Se recomienda establecer
ARCHIVE_LAG_TARGET
para garantizar un RPO coherente. Un valor de 5 minutos (300 segundos) es un valor prudente paraARCHIVE_LAG_TARGET
. Garantiza que cualquier operación de recuperación de bases de datos pueda recuperarse en un plazo de 5 minutos desde el momento del error.Para establecer
ARCHIVE_LAG_TARGET
, ejecute este comando:SQL> alter system set archive_lag_target=300 scope=both;
Para conocer mejor cómo se implementan instancias de bases de datos de Oracle de alta disponibilidad en Azure con un objetivo de punto de recuperación cero, consulte Arquitecturas de referencia para Oracle Database.
Asegúrese de que la base de datos está en modo de registro de archivo para habilitar las copias de seguridad en línea.
Compruebe primero el estado del archivo de registro:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
Si está en modo
NOARCHIVELOG
, ejecute los siguientes comandos:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;
Cree una tabla para probar las operaciones de copia de seguridad y restauración:
SQL> create user scott identified by tiger quota 100M on users; SQL> grant create session, create table to scott; SQL> connect scott/tiger SQL> create table scott_table(col1 number, col2 varchar2(50)); SQL> insert into scott_table VALUES(1,'Line 1'); SQL> commit; SQL> quit
Realice la copia de seguridad de los datos mediante Azure Backup
El servicio Azure Backup proporciona soluciones para realizar copias de seguridad de datos de la nube de Microsoft Azure y recuperarlos. Azure Backup proporciona copias de seguridad independientes y aisladas para evitar la destrucción accidental de datos originales. Las copias de seguridad se almacenan en un almacén de Recovery Services con administración integrada de puntos de recuperación, por lo que puede restaurar según sea necesario.
En esta sección, usa el marco de Azure Backup para tomar instantáneas coherentes con la aplicación de la máquina virtual en ejecución y las instancias de Oracle Database. La base de datos se pone en modo de copia de seguridad, lo que permite que se produzca una copia de seguridad en línea coherente con las transacciones mientras Azure Backup toma una instantánea de los discos de máquina virtual. La instantánea es una copia completa del almacenamiento y no una instantánea incremental o de copia en escritura. Es un medio eficaz desde el que restaurar la base de datos.
La ventaja de usar instantáneas consistentes entre aplicaciones de Azure Backup es que son rápidas de tomar, independientemente del tamaño de la base de datos. Puede usar una instantánea para las operaciones de restauración tan pronto como la tome, sin tener que esperar a que se transfiera al almacén de Recovery Services.
Para usar Azure Backup para crear una copia de seguridad de la base de datos, siga estos pasos:
- Descripción del marco de Azure Backup.
- Preparación del entorno para una copia de seguridad coherente con la aplicación
- Configuración de las copias de seguridad coherentes con la aplicación
- Desencadenamiento de una copia de seguridad coherente con la aplicación de la máquina virtual
Descripción del marco de Azure Backup
El servicio Azure Backup proporciona un marco para lograr la consistencia de la aplicación durante las copias de seguridad de las máquinas virtuales Windows y Linux para diversas aplicaciones. Este marco implica invocar un script previo para poner en modo inactivo las aplicaciones antes de tomar una instantánea de los discos. Llama a un script posterior para descongelar las aplicaciones una vez completada la instantánea.
Microsoft ha mejorado el marco para que el servicio Azure Backup proporcione scripts previos empaquetados y scripts posteriores para las aplicaciones seleccionadas. Estos scripts previos y posteriores ya se cargan en la imagen de Linux, por lo que no hay nada que instalar. Simplemente asigna un nombre a la aplicación y, a continuación, Azure Backup invoca automáticamente los scripts pertinentes. Microsoft administra los scripts previos empaquetados y los scripts posteriores, por lo que puede estar seguro de la compatibilidad, la propiedad y la validez de ellos.
Actualmente, las aplicaciones compatibles con el marco mejorado son Oracle 12.x o posterior y MySQL. Para más información, consulte Matriz de compatibilidad para copias de seguridad administradas de máquinas virtuales de Azure.
Pueden crea sus propios scripts para que Azure Backup los use con bases de datos de versiones anteriores a la 12.x. Los ejemplos de scripts están disponibles en GitHub.
Cada vez que realice una copia de seguridad, el marco mejorado ejecuta los scripts previos y posteriores en todas las instancias de Oracle Database instaladas en la máquina virtual. El parámetro configuration_path
del archivo workload.conf apunta a la ubicación del archivo /etc/oratab de Oracle (o un archivo definido por el usuario que sigue la sintaxis de oratab). Para obtener más información, consulte Configuración de las copias de seguridad consistentes entre aplicaciones.
Azure Backup ejecuta los scripts previos y posteriores para cada base de datos que aparece en el archivo al que configuration_path
apunta. Las excepciones son líneas que comienzan por #
(tratadas como comentario) o +ASM
(una instancia de ASM de Oracle).
El marco de Azure Backup mejorado realiza copias de seguridad en línea de instancias de Oracle Database que funcionan en modo ARCHIVELOG
. Los scripts previos y posteriores usan los comandos ALTER DATABASE BEGIN
y END BACKUP
para lograr la consistencia entre aplicaciones.
Para que la copia de seguridad de la base de datos sea consistente, las bases de datos en modo NOARCHIVELOG
deben apagarse limpiamente antes de que se inicie la instantánea.
Preparación del entorno para una copia de seguridad coherente con la aplicación
Oracle Database emplea la separación de roles de trabajo para proporcionar separación de las tareas mediante privilegios mínimos. Asocia grupos de sistema operativo (SO) independientes con roles administrativos de base de datos independientes. A los usuarios del sistema operativo se les pueden conceder distintos privilegios en la base de datos en función de su pertenencia a grupos del sistema operativo.
El rol de base de datos SYSBACKUP
(nombre genérico OSBACKUPDBA
) proporciona privilegios limitados para realizar operaciones de copia de seguridad en la base de datos. Azure Backup lo requiere.
Durante la instalación de Oracle, se recomienda usar backupdba
como nombre del grupo del sistema operativo para asociarlo al rol SYSBACKUP
. Pero puede usar cualquier nombre, por lo que debe determinar primero el nombre del grupo del sistema operativo que representa el rol de Oracle SYSBACKUP
.
Cambie al usuario
oracle
:sudo su - oracle
Establezca el entorno de Oracle:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
Determine el nombre del grupo del sistema operativo que representa el rol de Oracle
SYSBACKUP
:grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
El resultado es similar al ejemplo siguiente:
#define SS_BKP_GRP "backupdba"
En la salida, el valor entre comillas dobles es el nombre del grupo del sistema operativo Linux en el que se autentica externamente el rol
SYSBACKUP
de Oracle. En este ejemplo, esbackupdba
. Anote el valor real.Ejecute el siguiente comando para comprobar si el grupo del sistema operativo existe. Sustituya
<group name>
por el valor que devolvió el comando anterior (sin las comillas).grep <group name> /etc/group
El resultado es similar al ejemplo siguiente:
backupdba:x:54324:oracle
Importante
Si la salida no coincide con el valor del grupo del sistema operativo de Oracle que recuperó en el paso 3, use el siguiente comando para crear el grupo del sistema operativo que representa el rol
SYSBACKUP
de Oracle. Sustituya<group name>
por el nombre del grupo que recuperó en el paso 3.sudo groupadd <group name>
Cree un nombre de usuario de copia de seguridad
azbackup
, que pertenece al grupo del sistema operativo que ha comprobado o creado en los pasos anteriores. Sustituya<group name>
por el nombre del grupo comprobado. El usuario también se agrega al grupooinstall
para habilitarlo para abrir discos ASM.sudo useradd -g <group name> -G oinstall azbackup
Configure la autenticación externa para el nuevo usuario de copia de seguridad.
El usuario de copia de seguridad
azbackup
debe poder acceder a la base de datos mediante la autenticación externa, para no necesitar contraseña. Para habilitar este acceso, debe crear un usuario de base de datos que se autentique externamente medianteazbackup
. La base de datos usa un prefijo para el nombre de usuario que necesita encontrar.Siga los pasos que se indican a continuación para cada base de datos instalada en la máquina virtual:
Inicie sesión en la base de datos con SQL Plus y compruebe la configuración predeterminada de la autenticación externa:
sqlplus / as sysdba SQL> show parameter os_authent_prefix SQL> show parameter remote_os_authent
La salida debe ser similar a la de este ejemplo, en el que se muestra
ops$
como prefijo del nombre de usuario de la base de datos:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ os_authent_prefix string ops$ remote_os_authent boolean FALSE
Cree un usuario de base de datos llamado
ops$azbackup
para la autenticación externa al usuarioazbackup
y conceda privilegios deSYSBACKUP
:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
Si recibe el error
ORA-46953: The password file is not in the 12.2 format
al ejecutar la instrucciónGRANT
, siga estos pasos para migrar el archivo orapwd al formato 12.2. Realice estos pasos para cada instancia de Oracle Database en la máquina virtual.Salga de SQL Plus.
Mueva el archivo de contraseña con el formato antiguo a un nuevo nombre.
Migre el archivo de contraseña.
Quite el archivo antiguo.
Ejecute los comandos siguientes:
mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp rm $ORACLE_HOME/dbs/orapworatest1.tmp
Vuelva a ejecutar la operación
GRANT
en SQL Plus.
Cree un procedimiento almacenado para registrar los mensajes de copia de seguridad en el registro de alertas de la base de datos. Use el siguiente código para cada base de datos instalada en la máquina virtual:
sqlplus / as sysdba SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP; SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2) AS v_timestamp VARCHAR2(32); BEGIN SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') INTO v_timestamp FROM DUAL; DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg); SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg); END azmessage; / SQL> SHOW ERRORS SQL> QUIT
Configuración de las copias de seguridad coherentes con la aplicación
Cambie al usuario root:
sudo su -
Busque la carpeta /etc/azure. Si no está presente, cree el directorio de trabajo para la copia de seguridad consistente entre aplicaciones:
if [ ! -d "/etc/azure" ]; then mkdir /etc/azure fi
Busque el archivo workload.conf dentro de la carpeta. Si no está presente, créelo en el directorio /etc/azure y asígnele el siguiente contenido. Los comentarios deben comenzar por
[workload]
. Si el archivo ya está presente, edite los campos de forma que coincidan con el contenido siguiente. En caso contrario, el siguiente comando crea el archivo y rellena el contenido:echo "[workload] workload_name = oracle configuration_path = /etc/oratab timeout = 90 linux_user = azbackup" > /etc/azure/workload.conf
El archivo workload.conf usa el formato siguiente:
- El parámetro
workload_name
indica el tipo de carga de trabajo de base de datos. En este caso, establecer el parámetro enOracle
permite que Azure Backup ejecute los scripts previos y posteriores correctos (comandos de consistencia) para las instancias de Oracle Database. - El parámetro
timeout
indica el tiempo máximo, en segundos, que debe tener cada base de datos para completar las instantáneas de almacenamiento. - El parámetro
linux_user
indica la cuenta de usuario de Linux que Azure Backup usa para ejecutar operaciones de inactividad de la base de datos. Este usuario,azbackup
, lo creó anteriormente. - El parámetro
configuration_path
indica el nombre de la ruta de acceso absoluta de un archivo de texto en la máquina virtual. Cada línea muestra una instancia de base de datos que se ejecuta en la máquina virtual. Suele ser el archivo /etc/oratab que Oracle genera durante la instalación de la base de datos, pero puede ser cualquier archivo con cualquier nombre que elija. Debe seguir estas reglas de formato:- El archivo es un archivo de texto. Cada campo se delimita con el carácter de dos puntos (
:
). - El primer campo de cada línea es el nombre para una instancia de
ORACLE_SID
. - El segundo campo de cada línea es el nombre de la ruta de acceso absoluta de
ORACLE_HOME
para esa instancia deORACLE_SID
. - Se omite todo el texto después de los dos primeros campos.
- Si la línea comienza con un signo de libra (
#
), toda la línea se omite como comentario. - Si el primer campo tiene el valor
+ASM
, que denota una instancia de Oracle ASM, se ignora.
- El archivo es un archivo de texto. Cada campo se delimita con el carácter de dos puntos (
- El parámetro
Desencadenamiento de una copia de seguridad coherente con la aplicación de la máquina virtual
En el Azure Portal, vaya al grupo de recursos rg-oracle y seleccione la máquina virtual vmoracle19c.
En el panel Copia de seguridad:
- En Almacén de Recovery Services, seleccione Crear nuevo.
- Para el nombre del almacén, use myVault.
- En Grupo de recursos, seleccione rg-oracle.
- En Elegir directiva de copia de seguridad, use (nuevo) DailyPolicy. Si quiere cambiar la frecuencia de la copia de seguridad o el período de retención, seleccione Crear una nueva directiva en su lugar.
Seleccione Habilitar copia de seguridad.
El proceso de copia de seguridad no se inicia hasta que expira el tiempo programado. Para configurar la copia de seguridad inmediata, complete el paso siguiente.
En el panel del grupo de recursos, seleccione el almacén de Recovery Services recién creado denominado myVault. Es posible que deba actualizar la página para que aparezca.
En el panel myVault - elementos de copia de seguridad, en RECUENTO DE ELEMENTOS DE COPIA DE SEGURIDAD, seleccione el número de elementos de copia de seguridad.
En el panel Elementos de copia de seguridad (máquina virtual de Azure), seleccione el botón de puntos suspensivos (...) y, a continuación, seleccione Realizar copia de seguridad ahora.
Acepte el valor predeterminado de Conservar la copia de seguridad hasta y, después, seleccione Aceptar. Espere a que finalice el proceso de copia de seguridad.
Para ver el estado del trabajo de copia de seguridad, seleccione Trabajos de copia de seguridad.
Seleccione el trabajo de copia de seguridad para ver los detalles sobre su estado.
Aunque se tarda unos segundos en ejecutar la instantánea, puede llevar más tiempo transferirla al almacén. El trabajo de copia de seguridad no se completa hasta que finalice la transferencia.
Para una copia de seguridad consistente entre aplicaciones, solucione los errores del archivo de registro en /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.
Restauración de la máquina virtual
Restaurar una la máquina virtual completa significa que restaura la máquina virtual y sus discos conectados a una nueva máquina virtual desde un punto de restauración seleccionado. Esta acción también restaura todas las bases de datos que se ejecutan en la máquina virtual. Después, debe recuperar cada base de datos.
Para restaurar una máquina virtual completa, siga estos pasos:
- Detenga y elimine una máquina virtual.
- Recupere la máquina virtual.
- Establezca la dirección IP pública.
- Recuperar la base de datos.
Existen dos opciones principales al restaurar una máquina virtual:
- Restaurar la máquina virtual desde la que se han realizado originalmente las copias de seguridad.
- Restaurar (clonar) una nueva máquina virtual sin afectar a la máquina virtual desde la que se han realizado originalmente las copias de seguridad.
Los primeros pasos de este ejercicio (detener, eliminar y recuperar la máquina virtual) simulan el primer caso de uso.
Detención y eliminación de una máquina virtual
En Azure Portal, vaya a la máquina virtual vmoracle19c y, a continuación, seleccione Detener.
Cuando la máquina virtual deje de ejecutarse, seleccione Eliminar y, a continuación, Sí.
Recuperación de la máquina virtual
Crear una cuenta de almacenamiento para almacenamiento provisional en Azure Portal:
En el Azure Portal, seleccione + Crear un recurso y, a continuación, busque y seleccione Cuenta de almacenamiento.
En el panel Crear cuenta de almacenamiento:
- En Grupo de recursos, seleccione su grupo de recursos existente, rg-oracle.
- En Nombre de cuenta de almacenamiento, introduzca oracrestore.
- Asegúrese de que Ubicación está configurada en la misma región que los demás recursos del grupo de recursos.
- Establezca Rendimiento en Estándar.
- Para Tipo de cuenta, seleccione AlmacenamientoV2 (propósito general v2).
- En Replicación, seleccione Almacenamiento con redundancia local (LRS) .
Seleccione Revisar y crear y, luego, Crear.
En Azure Portal, busque el almacén de Recovery Services myVault y selecciónelo.
En el panel Información general , seleccione Elementos de copia de seguridad. A continuación, seleccione Máquina virtual de Azure, que debe tener un número distinto de cero para NUMERO DE ELEMENTOS DE COPIA DE SEGURIDAD.
En el panel Elementos de copia de seguridad (Máquina virtual de Azure), seleccione la máquina virtual vmoracle19c.
En el panel vmoracle19c, elija un punto de restauración que tenga un tipo de Aplicación consistente. Seleccione los puntos suspensivos (...) y, a continuación, seleccione Restaurar máquina virtual.
En el panel Restaurar máquina virtual:
Seleccione Crear nuevo.
En Tipo de restauración, seleccione Crear nueva máquina virtual.
En Nombre de máquina virtual , escriba vmoracle19c.
En Red virtual, seleccione vmoracle19cVNET.
La subred se rellena automáticamente en función de la selección de la red virtual.
En Ubicación de almacenamiento provisional, el proceso de restauración de una máquina virtual requiere una cuenta de almacenamiento de Azure en el mismo grupo de recursos y región. Puede elegir una cuenta de almacenamiento o una tarea restauración que configuró anteriormente.
Para restaurar la máquina virtual, seleccione el botón Restaurar.
Para ver el estado del proceso de restauración, seleccione Trabajos y después seleccione Trabajos de copia de seguridad.
Seleccione la operación de restauración En curso para mostrar detalles sobre el estado del proceso de restauración.
Establecimiento de la dirección IP pública
Una vez restaurada la máquina virtual, debe reasignar la dirección IP original a la nueva máquina virtual.
En Azure Portal, vaya a la máquina virtual vmoracle19c. Se le asigna una nueva dirección IP pública y un NIC similar a vmoracle19c-nic-XXXXXXXXXXXX, pero no tiene una dirección DNS. Cuando se eliminó la máquina virtual original, se conservaron su dirección IP pública y el adaptador de red. Los pasos siguientes vuelven a adjuntarlos a la nueva máquina virtual.
Pare la VM.
Vaya a Redes.
Seleccione Asociar interfaz de red. Seleccione el adaptador de red original vmoracle19cVMNic, al que todavía está asociada la dirección IP pública original. Después, seleccione Aceptar.
Desasocie el adaptador de red que creó con la operación de restauración de la máquina virtual, ya que está configurada como la interfaz principal. Seleccione Desasociar interfaz de red, seleccione el adaptador de red similar a vmoracle19c-nic-XXXXXXXXXXXX y, a continuación, seleccione Aceptar.
La máquina virtual que se ha vuelto a crear ahora tiene el adaptador de red original, que está asociada a las reglas originales del grupo de seguridad de red y la dirección IP.
Vuelva al panel Información general y seleccione Iniciar.
Recuperación de la base de datos
Para recuperar una base de datos después de una restauración de máquina virtual completa:
Volver a conectarse a la máquina virtual:
ssh azureuser@<publicIpAddress>
Una vez restaurada toda la máquina virtual, es importante recuperar las bases de datos de la máquina virtual ejecutando los pasos siguientes en cada una de ellas.
Es posible que la instancia se esté ejecutando, ya que el inicio automático intentó iniciar la base de datos durante el arranque de la máquina virtual. Sin embargo, la base de datos requiere de una recuperación y es probable que solo esté en fase de montaje. Ejecutar un apagado preparatorio antes de iniciar la fase de montaje:
sudo su - oracle sqlplus / as sysdba SQL> shutdown immediate SQL> startup mount
Realización de la recuperación de la base de datos.
Es importante especificar la sintaxis
USING BACKUP CONTROLFILE
para informar al comandoRECOVER AUTOMATIC DATABASE
que la recuperación no debe detenerse en el número de cambio del sistema (SCN) de Oracle registrado en el archivo de control de la base de datos restaurada.El archivo de control de la base de datos restaurado era una instantánea, junto con el resto de la base de datos. El SCN almacenado en él es del momento en que se realizó la instantánea. Puede haber transacciones registradas después de este momento y quiere realizar la recuperación al momento dado de la última transacción confirmada en la base de datos.
SQL> recover automatic database using backup controlfile until cancel;
Cuando se aplique el último archivo de registro de archivo disponible, escriba
CANCEL
para finalizar la recuperación.Cuando la recuperación finaliza correctamente, aparece el mensaje
Media recovery complete
.Sin embargo, cuando se usa la cláusula
BACKUP CONTROLFILE
, el comando de recuperación omite los archivos de registro en línea. Es posible que se necesiten cambios en el registro de puesta al día en línea actual para completar la recuperación a un momento dado. En esta situación, es posible que vea mensajes similares a estos ejemplos:SQL> recover automatic database until cancel using backup controlfile; ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1 ORA-00289: suggestion : /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc ORA-00280: change 2172930 for thread 1 is in sequence #13 ORA-00278: log file '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no longer needed for this recovery ORA-00308: cannot open archived log '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
Importante
Si el registro de puesta al día en línea actual se pierde o está dañado y no puede usarlo, puede cancelar la recuperación en este momento.
Para corregir esta situación, puede identificar cuál es el registro en línea que no se ha archivado y especificar el nombre de archivo completo en el símbolo del sistema.
Abra la base de datos.
La opción
RESETLOGS
es necesaria cuando el comandoRECOVER
usa la opciónUSING BACKUP CONTROLFILE
.RESETLOGS
crea una nueva encarnación de la base de datos restableciendo el historial a su estado inicial, ya que no hay ninguna manera de determinar la cantidad de la encarnación de la base de datos anterior se omitió en la recuperación.SQL> alter database open resetlogs;
Compruebe que se recuperó el contenido de la base de datos:
SQL> select * from scott.scott_table;
La copia de seguridad y la recuperación de Oracle Database en una máquina virtual de Azure Linux ha finalizado.
Puede encontrar más información sobre los comandos y conceptos de la documentación de Oracle, que incluye:
- Realización de copias de seguridad administradas por el usuario de Oracle de toda la base de datos
- Realización de la recuperación completa de una base de datos administrada por el usuario
- Comando STARTUP de Oracle
- Comando RECOVER de Oracle
- Comando ALTER DATABASE de Oracle
- Parámetro LOG_ARCHIVE_DEST_n de Oracle
- Parámetro ARCHIVE_LAG_TARGET de Oracle
Eliminación de la máquina virtual
Cuando deje de necesitar la máquina virtual, puede usar los siguientes comandos para quitar el grupo de recursos, la máquina virtual y todos los recursos relacionados:
Deshabilitar la eliminación temporal de copias de seguridad en el almacén:
az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
Detener la protección de la máquina virtual y eliminar copias de seguridad:
az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
Eliminar el grupo de recursos, incluidos todos los recursos:
az group delete --name rg-oracle
Pasos siguientes
Creación de máquinas virtuales de alta disponibilidad
Ejemplos de la CLI de Azure para la implementación de máquinas virtuales