HANA Datenbank-Recovery
Die folgenden Schritte sind für das HANA-Datenbank-Recovery beschrieben.
Starten Sie die erforderlichen SAP-Dienste.
vm-pr1:~ # systemctl start sapinit
Die folgende Ausgabe zeigt die erforderlichen Prozesse.
vm-pr1:/ # ps -ef | grep sap root 23101 1 0 11:29 ? 00:00:00 /usr/sap/hostctrl/exe/saphostexec pf=/usr/sap/hostctrl/exe/host_profile pr1adm 23191 1 3 11:29 ? 00:00:00 /usr/sap/PR1/HDB01/exe/sapstartsrv pf=/usr/sap/PR1/SYS/profile/PR1_HDB01_vm-pr1 -D -u pr1adm sapadm 23202 1 5 11:29 ? 00:00:00 /usr/sap/hostctrl/exe/sapstartsrv pf=/usr/sap/hostctrl/exe/host_profile -D root 23292 1 0 11:29 ? 00:00:00 /usr/sap/hostctrl/exe/saposcol -l -w60 pf=/usr/sap/hostctrl/exe/host_profile root 23359 2597 0 11:29 pts/1 00:00:00 grep --color=auto sap
In den folgenden Abschnitten wird der Recovery-Prozess mit der vorwärts gerichteten Recovery mit den replizierten Protokoll-Backups beschrieben. Die Recovery wird mit dem HANA-Recovery-Skript für die Systemdatenbank und hdbsql-Befehle für die Mandanten-Datenbank ausgeführt.
Die Befehle zur Ausführung einer Wiederherstellung zum neuesten Speicherpunkt von Daten werden in Kapitel beschrieben "Recovery zum neuesten HANA Daten-Volume-Backup-Speicherpunkt".
Recovery mit vorwärtsgerichteten Recovery mithilfe von Log-Backups
Die Wiederherstellung mit allen verfügbaren Log-Backups wird mit den folgenden Befehlen als Benutzer pr1adm ausgeführt:
-
Systemdatenbank
recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT"
-
Mandantendatenbank
Within hdbsql: RECOVER DATABASE FOR PR1 UNTIL TIMESTAMP '2021-02-20 00:00:00' CLEAR LOG USING SNAPSHOT
Um die Wiederherstellung mit allen verfügbaren Protokollen zu ermöglichen, können Sie jederzeit als Zeitstempel in der Wiederherstellungsanweisung verwenden. |
Sie können auch HANA Studio oder Cockpit verwenden, um die Wiederherstellung des Systems und der Mandanten-Datenbank auszuführen.
Die folgende Befehlsausgabe zeigt die Ausführung der Wiederherstellung.
Recovery der Systemdatenbank
pr1adm@vm-pr1:/usr/sap/PR1/HDB01> HDBSettings.sh recoverSys.py --command "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-24 00:00:00' CLEAR LOG USING SNAPSHOT" [139792805873472, 0.008] >> starting recoverSys (at Tue Feb 23 12:05:16 2021) [139792805873472, 0.008] args: () [139792805873472, 0.008] keys: {'command': "RECOVER DATABASE UNTIL TIMESTAMP '2021-02-24 00:00:00' CLEAR LOG USING SNAPSHOT"} using logfile /usr/sap/PR1/HDB01/vm-pr1/trace/backup.log recoverSys started: ============2021-02-23 12:05:16 ============ testing master: vm-pr1 vm-pr1 is master shutdown database, timeout is 120 stop system stop system on: vm-pr1 stopping system: 2021-02-23 12:05:17 stopped system: 2021-02-23 12:05:18 creating file recoverInstance.sql restart database restart master nameserver: 2021-02-23 12:05:23 start system: vm-pr1 sapcontrol parameter: ['-function', 'Start'] sapcontrol returned successfully: 2021-02-23T12:07:53+00:00 P0012969 177cec93d51 INFO RECOVERY RECOVER DATA finished successfully, reached timestamp 2021-02-23T09:03:11+00:00, reached log position 43123520 recoverSys finished successfully: 2021-02-23 12:07:54 [139792805873472, 157.466] 0 [139792805873472, 157.466] << ending recoverSys, rc = 0 (RC_TEST_OK), after 157.458 secs pr1adm@vm-pr1:/usr/sap/PR1/HDB01>
Recovery von Mandanten-Datenbanken
Wenn für den Benutzer pr1adm am Quellsystem kein Benutzerspeicherschlüssel erstellt wurde, muss auf dem Zielsystem ein Schlüssel erstellt werden. Der im Schlüssel konfigurierte Datenbankbenutzer muss über Berechtigungen zur Ausführung von Mandanten-Recovery-Vorgängen verfügen.
pr1adm@vm-pr1:/usr/sap/PR1/HDB01> hdbuserstore set PR1KEY vm-pr1:30113 <backup-user> <password>
pr1adm@vm-pr1:/usr/sap/PR1/HDB01> hdbsql -U PR1KEY Welcome to the SAP HANA Database interactive terminal. Type: \h for help with commands \q to quit hdbsql SYSTEMDB=> RECOVER DATABASE FOR PR1 UNTIL TIMESTAMP '2021-02-24 00:00:00' CLEAR LOG USING SNAPSHOT 0 rows affected (overall time 98.740038 sec; server time 98.737788 sec) hdbsql SYSTEMDB=>
Überprüfen Sie die Konsistenz der neuesten Protokoll-Backups
Da die Volume-Replizierung für das Protokoll unabhängig vom von dem von der SAP HANA Datenbank ausgeführten Backup-Prozess durchgeführt wird, können am Disaster Recovery-Standort inkonsistente Backup-Dateien für Protokolle vorhanden sein. Nur die letzten Backup-Dateien für Protokolle sind möglicherweise inkonsistent und diese Dateien sollten überprüft werden, bevor eine Weiterleitung der Recovery am Disaster Recovery-Standort mithilfe der erfolgt hdbbackupcheck
Werkzeug.
pr1adm@hana-10: > hdbbackupcheck /hanabackup/PR1/log/SYSTEMDB/log_backup_0_0_0_0.1589289811148 Loaded library 'libhdbcsaccessor' Loaded library 'libhdblivecache' Backup '/mnt/log-backup/SYSTEMDB/log_backup_0_0_0_0.1589289811148' successfully checked.
Die Prüfung muss für die aktuellen Log-Backup-Dateien des Systems und der Mandanten-Datenbank ausgeführt werden.
Wenn der hdbbackupcheck
Tool meldet Fehler bei den letzten Protokollsicherungen muss der neueste Satz von Protokollsicherungen entfernt oder gelöscht werden.