Schutz Ihrer Oracle Datenbank in Azure Cloud
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
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.
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.
-
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
-
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
-
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.
-
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.
-
Wiederholen Sie die gleichen Schritte für das Datenvolumen, und stellen Sie sicher, dass das Backup die Tabelle enthält, die wiederhergestellt werden soll.
-
Bestätigen Sie erneut die Umversion des Volumes und klicken Sie auf „Zurücksetzen“.
-
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
-
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.