Skip to main content
NetApp Solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Proteja su base de datos de Oracle en el cloud de Azure

Colaboradores

Allen Cao, Ingeniería de Soluciones de NetApp

En esta sección se describe cómo proteger su base de datos de Oracle con la herramienta azacsnap y el backup de snapshots, la restauración y las snapshots en niveles en Azure BLOB.

Realizar backups de bases de datos de Oracle con snapshot mediante la herramienta AzAcSnap

La herramienta Snapshot coherente con las aplicaciones de Azure (AzAcSnap) es una herramienta de línea de comandos que permite la protección de datos de bases de datos de terceros al manejar toda la orquestación necesaria para ponerlas en un estado coherente con las aplicaciones antes de tomar una instantánea de almacenamiento, después de la cual devuelve las bases de datos a un estado operativo.

En el caso de Oracle, se coloca la base de datos en modo de backup para realizar una instantánea y, a continuación, sacar la base de datos del modo de backup.

Backup de datos y volúmenes de registros

El backup se puede configurar en el host del servidor de bases de datos con un script de shell simple que ejecuta el comando snapshot. A continuación, se puede programar la ejecución del script desde crontab.

Generalmente, la frecuencia de backup depende del objetivo de tiempo de recuperación y el objetivo de punto de recuperación que desee. La creación frecuente de copias Snapshot consume más espacio de almacenamiento. Existe un compensación entre la frecuencia de backup y el consumo de espacio.

Los volúmenes de datos suelen consumir más espacio de almacenamiento que los volúmenes de registro. Por lo tanto, se pueden realizar copias Snapshot en volúmenes de datos cada pocas horas y realizar copias Snapshot más frecuentes en volúmenes de registro cada 15 a 30 minutos.

Consulte los siguientes ejemplos de secuencias de comandos y programación de backup.

Para snapshots de volumen de datos:

 # /bin/sh
cd /home/azacsnap/bin
. ~/.bash_profile
azacsnap -c backup --volume data --prefix acao-ora01-data --retention 36
azacsnap -c backup --volume other --prefix acao-ora01-log --retention 250

Para las copias de Snapshot de volumen de registro:

 # /bin/sh
cd /home/azacsnap/bin
. ~/.bash_profile
azacsnap -c backup --volume other --prefix acao-ora01-log --retention 250

Programación de crontab:

15,30,45 * * * * /home/azacsnap/snap_log.sh
0 */2 * * * /home/azacsnap/snap_data.sh
Nota Al configurar el backup azacsnap.json archivo de configuración, agregar todos los volúmenes de datos, incluido el volumen binario a. dataVolume y todos los volúmenes de registro en otherVolume. La retención máxima de copias de Snapshot es de 250 copias.

Validar las copias Snapshot

Vaya al portal de Azure > Azure NetApp Files/Volumes para comprobar si las snapshots se han creado correctamente.

Esta captura de pantalla muestra dos archivos en la lista de instantáneas.
Esta captura de pantalla muestra ocho archivos en la lista de instantáneas.

Recuperación y restauración de Oracle desde un backup local

Una de las ventajas clave del backup snapshot es que existe de forma conjunta con los volúmenes de base de datos de origen y que los volúmenes de base de datos primaria pueden revertirse casi instantáneamente.

Restauración y recuperación de Oracle en el servidor primario

El siguiente ejemplo muestra cómo restaurar y recuperar una base de datos de Oracle desde la consola de Azure y la CLI en el mismo host de Oracle.

  1. Cree una tabla de pruebas en la base de datos que se va a restaurar.

    [oracle@acao-ora01 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 12 19:02:35 2022
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL> create table testsnapshot(
         id integer,
         event varchar(100),
         dt timestamp);
    
    Table created.
    
    SQL> insert into testsnapshot values(1,'insert a data marker to validate snapshot restore',sysdate);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from testsnapshot;
    
     ID
    ----------
    EVENT
    --------------------------------------------------------------------------------
    DT
    ---------------------------------------------------------------------------
             1
    insert a data marker to validate snapshot restore
    12-SEP-22 07.07.35.000000 PM
  2. Coloque la tabla después de los backups de Snapshot.

    [oracle@acao-ora01 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 13 14:20:22 2022
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL> drop table testsnapshot;
    
    Table dropped.
    
    SQL> select * from testsnapshot;
    select * from testsnapshot
                  *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
  3. En la consola de Azure NetApp Files, restaure el volumen de registro a la última snapshot disponible. Seleccione volumen de reversión.

    Esta captura de pantalla muestra el método de reversión de instantánea para volúmenes en el panel ANF.

  4. Confirme la reversión de volumen y haga clic en revertir para completar la reversión del volumen a la última copia de seguridad disponible.

    El "¿está seguro de que desea hacer esto?" página para la nueva versión de instantánea.

  5. Repita los mismos pasos para el volumen de datos y compruebe que el backup contenga la tabla que se va a recuperar.

    Esta captura de pantalla muestra el método de reversión de instantánea para volúmenes de datos en el panel ANF.

  6. Vuelva a confirmar la versión del volumen y haga clic en "Revert".

    El "¿está seguro de que desea hacer esto?" página para la reversión de la copia de snapshot de volumen de datos.

  7. Resincronizcar los archivos de control si tiene varias copias de ellos y reemplazar el archivo de control antiguo con la última copia disponible.

    [oracle@acao-ora01 ~]$ mv /u02/oradata/ORATST/control01.ctl /u02/oradata/ORATST/control01.ctl.bk
    [oracle@acao-ora01 ~]$ cp /u03/orareco/ORATST/control02.ctl /u02/oradata/ORATST/control01.ctl
  8. Inicie sesión en el equipo virtual del servidor de Oracle y ejecute la recuperación de bases de datos con sqlplus.

    [oracle@acao-ora01 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Tue Sep 13 15:10:17 2022
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup mount;
    ORACLE instance started.
    
    Total System Global Area 6442448984 bytes
    Fixed Size                  8910936 bytes
    Variable Size            1090519040 bytes
    Database Buffers         5335154688 bytes
    Redo Buffers                7864320 bytes
    Database mounted.
    SQL> recover database using backup controlfile until cancel;
    ORA-00279: change 3188523 generated at 09/13/2022 10:00:09 needed for thread 1
    ORA-00289: suggestion :
    /u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_43__22rnjq9q_.arc
    ORA-00280: change 3188523 for thread 1 is in sequence #43
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    
    ORA-00279: change 3188862 generated at 09/13/2022 10:01:20 needed for thread 1
    ORA-00289: suggestion :
    /u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_44__29f2lgb5_.arc
    ORA-00280: change 3188862 for thread 1 is in sequence #44
    ORA-00278: log file
    '/u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_43__22rnjq9q_.arc' no longer
    needed for this recovery
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    
    ORA-00279: change 3193117 generated at 09/13/2022 12:00:08 needed for thread 1
    ORA-00289: suggestion :
    /u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_45__29h6qqyw_.arc
    ORA-00280: change 3193117 for thread 1 is in sequence #45
    ORA-00278: log file
    '/u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_44__29f2lgb5_.arc' no longer
    needed for this recovery
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    
    ORA-00279: change 3193440 generated at 09/13/2022 12:01:20 needed for thread 1
    ORA-00289: suggestion :
    /u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_46_%u_.arc
    ORA-00280: change 3193440 for thread 1 is in sequence #46
    ORA-00278: log file
    '/u03/orareco/ORATST/archivelog/2022_09_13/o1_mf_1_45__29h6qqyw_.arc' no longer
    needed for this recovery
    
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    Media recovery cancelled.
    SQL> alter database open resetlogs;
    
    Database altered.
    
    SQL> select * from testsnapshot;
    
      ID
    ----------
    EVENT
    --------------------------------------------------------------------------------
    DT
    ---------------------------------------------------------------------------
             1
    insert a data marker to validate snapshot restore
    12-SEP-22 07.07.35.000000 PM
    
    SQL> select systimestamp from dual;
    
     SYSTIMESTAMP
    ---------------------------------------------------------------------------
    13-SEP-22 03.28.52.646977 PM +00:00

Esta pantalla muestra que la tabla borrada se ha recuperado utilizando copias de seguridad de instantánea locales.