Compartir vía


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

  • 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:

  1. Conecte a la máquina virtual.
  2. Configuración de Azure File Storage.
  3. Preparación de las bases de datos.

Conexión a la máquina virtual

  1. 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>
    
  2. Cambie al usuario root:

    sudo su -
    
  3. 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 denominada vmoracle19c.
  • 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:

  1. Cambie al usuario oracle:

     sudo su - oracle
    
  2. Establezca la variable de entorno ORACLE_SID ejecutando el script oraenv. Se le pide que escriba el nombre de ORACLE_SID.

    . oraenv
    
  3. 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 es oratest1. Por lo tanto, cree el subdirectorio /backup/oratest1 y cambie la propiedad al usuario oracle. 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
    
  4. Conéctese a la base de datos:

    sqlplus / as sysdba
    
  5. Inicie la base de datos, si no se está ejecutando todavía:

    SQL> startup
    
  6. 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;
    
  7. 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 para ARCHIVE_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.

  8. 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;
    
  9. 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:

  1. Descripción del marco de Azure Backup.
  2. Preparación del entorno para una copia de seguridad coherente con la aplicación
  3. Configuración de las copias de seguridad coherentes con la aplicación
  4. 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.

  1. Cambie al usuario oracle:

    sudo su - oracle
    
  2. Establezca el entorno de Oracle:

    export ORACLE_SID=oratest1
    export ORAENV_ASK=NO
    . oraenv
    
  3. 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, es backupdba. Anote el valor real.

  4. 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>
    
  5. 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 grupo oinstall para habilitarlo para abrir discos ASM.

    sudo useradd -g <group name> -G oinstall azbackup
    
  6. 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 mediante azbackup. 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:

    1. 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
      
    2. Cree un usuario de base de datos llamado ops$azbackup para la autenticación externa al usuario azbackup y conceda privilegios de SYSBACKUP:

      SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY;
      SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
      
  7. Si recibe el error ORA-46953: The password file is not in the 12.2 format al ejecutar la instrucción GRANT, 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.

    1. Salga de SQL Plus.

    2. Mueva el archivo de contraseña con el formato antiguo a un nuevo nombre.

    3. Migre el archivo de contraseña.

    4. Quite el archivo antiguo.

    5. 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
      
    6. Vuelva a ejecutar la operación GRANT en SQL Plus.

  8. 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

  1. Cambie al usuario root:

    sudo su -
    
  2. 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
    
  3. 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 en Oracle 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 de ORACLE_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.

Desencadenamiento de una copia de seguridad coherente con la aplicación de la máquina virtual

  1. En el Azure Portal, vaya al grupo de recursos rg-oracle y seleccione la máquina virtual vmoracle19c.

  2. En el panel Copia de seguridad:

    1. En Almacén de Recovery Services, seleccione Crear nuevo.
    2. Para el nombre del almacén, use myVault.
    3. En Grupo de recursos, seleccione rg-oracle.
    4. 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.

    Captura de pantalla en la que se muestra el panel para configurar un nuevo almacén de Recovery Services.

  3. 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.

  4. 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.

  5. 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.

    Captura de pantalla que muestra detalles del almacén de Recovery Services.

  6. 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.

    Captura de pantalla que muestra el comando para realizar copias de seguridad del almacén de Recovery Services ahora.

  7. 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.

  8. Para ver el estado del trabajo de copia de seguridad, seleccione Trabajos de copia de seguridad.

    Captura de pantalla que muestra el panel que enumera los trabajos de copia de seguridad de un almacén de Recovery Services.

    Seleccione el trabajo de copia de seguridad para ver los detalles sobre su estado.

    Captura de pantalla que muestra información detallada del estado de un trabajo de copia de seguridad.

    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.

  9. 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:

  1. Detenga y elimine una máquina virtual.
  2. Recupere la máquina virtual.
  3. Establezca la dirección IP pública.
  4. 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

  1. En Azure Portal, vaya a la máquina virtual vmoracle19c y, a continuación, seleccione Detener.

  2. Cuando la máquina virtual deje de ejecutarse, seleccione Eliminar y, a continuación, .

    Captura de pantalla que muestra el mensaje de confirmación para eliminar una máquina virtual.

Recuperación de la máquina virtual

  1. Crear una cuenta de almacenamiento para almacenamiento provisional en Azure Portal:

    1. En el Azure Portal, seleccione + Crear un recurso y, a continuación, busque y seleccione Cuenta de almacenamiento.

      Captura de pantalla que muestra dónde se crean los recursos.

    2. En el panel Crear cuenta de almacenamiento:

      1. En Grupo de recursos, seleccione su grupo de recursos existente, rg-oracle.
      2. En Nombre de cuenta de almacenamiento, introduzca oracrestore.
      3. Asegúrese de que Ubicación está configurada en la misma región que los demás recursos del grupo de recursos.
      4. Establezca Rendimiento en Estándar.
      5. Para Tipo de cuenta, seleccione AlmacenamientoV2 (propósito general v2).
      6. En Replicación, seleccione Almacenamiento con redundancia local (LRS) .

      Captura de pantalla que muestra información básica para crear una cuenta de almacenamiento.

    3. Seleccione Revisar y crear y, luego, Crear.

  2. En Azure Portal, busque el almacén de Recovery Services myVault y selecciónelo.

    Captura de pantalla que muestra la selección de un almacén de Recovery Services.

  3. 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.

    Captura de pantalla que muestra las selecciones de un elemento de copia de seguridad de máquina virtual para un almacén de Recovery Services.

  4. En el panel Elementos de copia de seguridad (Máquina virtual de Azure), seleccione la máquina virtual vmoracle19c.

    Captura de pantalla que muestra el panel de elementos de copia de seguridad de máquina virtual.

  5. 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.

    Captura de pantalla que muestra el comando para restaurar una máquina virtual.

  6. En el panel Restaurar máquina virtual:

    1. Seleccione Crear nuevo.

    2. En Tipo de restauración, seleccione Crear nueva máquina virtual.

    3. En Nombre de máquina virtual , escriba vmoracle19c.

    4. En Red virtual, seleccione vmoracle19cVNET.

      La subred se rellena automáticamente en función de la selección de la red virtual.

    5. 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.

    Captura de pantalla en la que se muestran los valores para restaurar una máquina virtual.

  7. Para restaurar la máquina virtual, seleccione el botón Restaurar.

  8. Para ver el estado del proceso de restauración, seleccione Trabajos y después seleccione Trabajos de copia de seguridad.

    Captura de pantalla que muestra una lista de trabajos de copias de seguridad.

    Seleccione la operación de restauración En curso para mostrar detalles sobre el estado del proceso de restauración.

    Captura de pantalla que muestra información detallada del estado de un 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.

  1. 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.

    Captura de pantalla que muestra una lista de direcciones IP públicas.

  2. Pare la VM.

    Captura de pantalla en la que se muestran las selecciones para detener una máquina virtual.

  3. Vaya a Redes.

    Captura de pantalla que muestra la información de las redes.

  4. 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.

    Captura de pantalla que muestra la selección del tipo de recurso y los valores de adaptador de red.

  5. 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.

    Captura de pantalla que muestra el panel para desasociar una interfaz de red.

    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.

    Captura de pantalla que muestra un valor de dirección IP.

  6. 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:

  1. 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.

  2. 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
    
  3. Realización de la recuperación de la base de datos.

    Es importante especificar la sintaxis USING BACKUP CONTROLFILE para informar al comando RECOVER 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;
    
  4. 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.

  5. Abra la base de datos.

    La opción RESETLOGS es necesaria cuando el comando RECOVER usa la opción USING 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;
    
  6. 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:

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:

  1. 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
    
  2. 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
    
  3. 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