Skip to main content
NetApp Solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Schutz Ihrer Oracle Datenbank in Azure Cloud

Beitragende

Allen Cao, NetApp Solutions Engineering

In diesem Abschnitt wird beschrieben, wie Sie Ihre Oracle-Datenbank mit azacsnap-Tool schützen und Snapshot-Backup, Restore und Snapshots Tiering zu Azure Blob.

Sichern Sie die Oracle Datenbank mit Snapshot mit dem AzAcSnap Tool

Das Azure Application-konsistenter Snapshot-Tool (AzAcSnap) ist ein Befehlszeilen-Tool, das die Datensicherung für Datenbanken anderer Anbieter ermöglicht. Sie übernimmt die gesamte Orchestrierung, die erforderlich ist, um sie in einen applikationskonsistenten Zustand zu versetzen, bevor sie einen Storage-Snapshot erstellt. Anschließend werden die Datenbanken in einen Betriebszustand zurückversetzt.

Im Fall von Oracle versetzen Sie die Datenbank in den Backup-Modus, um einen Snapshot zu erstellen und dann den Backup-Modus aus dem Datenbank zu nehmen.

Backup-Daten und Protokoll-Volumes

Die Sicherung kann auf dem Datenbank-Server-Host mit einfachen Shell-Skript eingerichtet werden, das den Snapshot-Befehl ausführt. Anschließend kann das Skript so geplant werden, dass es von crontab ausgeführt wird.

Im Allgemeinen hängt die Häufigkeit der Backups von dem gewünschten RTO und RPO ab. Die regelmäßige Erstellung von Snapshots belegt mehr Speicherplatz. Es besteht ein Kompromiss zwischen der Häufigkeit von Backup und dem Platzbedarf.

Daten-Volumes verbrauchen in der Regel mehr Storage als Protokoll-Volumes. Daher können Sie alle 15 bis 30 Minuten Snapshots auf Daten-Volumes erstellen und häufigere Snapshots auf Log-Volumes erstellen.

Sehen Sie sich die folgenden Beispiele für Backup-Skripte und Zeitplanung an.

Für Daten-Volume Snapshots:

 # /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

Für Momentaufnahmen des Protokollvolumens:

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

Crontab-Zeitplan:

15,30,45 * * * * /home/azacsnap/snap_log.sh
0 */2 * * * /home/azacsnap/snap_data.sh
Hinweis Beim Einrichten des Backups azacsnap.json Konfigurationsdatei: Fügen Sie alle Daten-Volumes, einschließlich des binären Volumes, zu hinzu dataVolume Und alle Log-Volumes auf otherVolume. Die maximale Aufbewahrung von Snapshots beträgt 250 Kopien.

Überprüfen Sie die Snapshots

Besuchen Sie das Azure-Portal > Azure NetApp Files/Volumes, um zu überprüfen, ob die Snapshots erfolgreich erstellt wurden.

Dieser Screenshot zeigt zwei Dateien in der Snapshot-Liste.
Dieser Screenshot zeigt acht Dateien in der Snapshot-Liste.

Oracle Restore und Recovery aus lokalem Backup

Einer der wichtigsten Vorteile von Snapshot Backups besteht darin, dass es mit den Quell-Datenbank-Volumes verbunden ist und die primären Datenbank-Volumes nahezu sofort zurückgesetzt werden können.

Wiederherstellung von Oracle auf dem primären Server

Das folgende Beispiel zeigt, wie eine Oracle Datenbank über das Azure Dashboard und über die CLI auf demselben Oracle Host wiederhergestellt und wiederhergestellt wird.

  1. Erstellen Sie eine Testtabelle in der Datenbank, die wiederhergestellt werden soll.

    [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. Werfen Sie die Tabelle nach den Snapshot-Backups.

    [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. Stellen Sie im Azure NetApp Files Dashboard das Protokoll-Volume in den letzten verfügbaren Snapshot wieder her. Wählen Sie Lautstärke zurücksetzen.

    Dieser Screenshot zeigt die Methode der Umversion von Snapshots für Volumes im ANF-Dashboard.

  4. Bestätigen Sie das Zurücksetzen des Volumes und klicken Sie auf revert, um die Umversion des Volumes auf die neueste verfügbare Sicherung abzuschließen.

    Die „sind Sie sicher, dass Sie dies tun möchten?“ Seite für die Umversion des Snapshots.

  5. Wiederholen Sie die gleichen Schritte für das Datenvolumen, und stellen Sie sicher, dass das Backup die Tabelle enthält, die wiederhergestellt werden soll.

    Dieser Screenshot zeigt die Methode der Umversion von Snapshots für Datenvolumen im ANF-Dashboard.

  6. Bestätigen Sie erneut die Umversion des Volumes und klicken Sie auf „Zurücksetzen“.

    Die „sind Sie sicher, dass Sie dies tun möchten?“ Seite für die Umversion des Daten-Volume-Snapshots.

  7. Synchronisieren Sie die Kontrolldateien neu, wenn Sie mehrere Kopien von ihnen haben, und ersetzen Sie die alte Kontrolldatei mit der neuesten verfügbaren Kopie.

    [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. Melden Sie sich bei der Oracle-Server-VM an, und führen Sie Datenbank-Recovery mit sqlplus aus.

    [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

Dieser Bildschirm zeigt, dass die abfallende Tabelle mit lokalen Snapshot-Backups wiederhergestellt wurde.