ID-INFO-Blog
Starten wir eine SAVE21!
Müssen Sie alle Daten Ihres IBM i-Systems zentral durch eine einzige Datensicherung erfassen? Ganz einfach: Starten wir eine SAVE21!
Die gesamte IBM i-Gemeinde kennt diesen Begriff, der sich aus einer Menüoption ableitet: Man geht in das native Menü zur Verwaltung von Datensicherungen (GO SAVE), wählt die Option Nr. 21 aus und muss dann nur noch den Anweisungen auf dem Bildschirm folgen.
Haben Sie hingegen keine Ressourcen, um eine ganze Nacht lang vor einem Bildschirm zu sitzen? Einfach: Reichen Sie diese Sicherung im Batch ein! Wie? Einfach! Folgen Sie diesem Artikel und wir zeigen Ihnen, wie Sie Ihren SAVE21 im Batch vorbereiten.
Was sichert die SAVE21?
Diese umfasst die Firmware, das System (einschließlich der Sicherheits- und Konfigurationsdaten), alle Bibliotheken und den gesamten IFS (einschließlich des QDLS-Verzeichnisses, die sogenannten „DLOs“). Man hört auch den Begriff „Sicherung des GESAMTEN Systems“, im Gegensatz zur einfachen „Systemsicherung“, die sich eigentlich auf eine SAVSYS oder die Option 22 im SAVE-Menü bezieht.
Die beiden Begriffe sind auch nicht völlig unabhängig voneinander. Tatsächlich beinhaltet SAVE21 eine SAVSYS, zu der sie eine vollständige Sicherung der Benutzerdaten hinzufügt, die der Option 23 des SAVE-Menüs entspricht.
Bei allen in diesem Artikel aufgelisteten Befehlen bezieht sich <device> auf das Laufwerk, in das <volume>, das verwendete Sicherungsmedium, eingelegt ist. Die Befehle zur Datensicherung, die in SAVE21 enthalten sind, lauten wie folgt:
Sicherung der Firmware und des Systems :
SAVSYS DEV(<device>)
VOL(<Lautstärke>)
ENDOPT(*LEAVE)
Sicherung der restlichen Bibliotheken („systemfremde“ Bibliotheken) :
DEV(<device>)
VOL(<Lautstärke>)
ENDOPT(*LEAVE)
Speichern von „DLO“ (Inhalt von /QDLS) :
DEV(<device>)
VOL(<Lautstärke>)
ENDOPT(*LEAVE)
Sicherung des gesamten IFS (außer /QDLS und /QSYS.LIB, die bereits gesichert wurden) :
OBJ((‚/*‘))
(‚/QSYS.LIB‘ *OMIT)
(‚/QDLS‘ *OMIT))
VOL(<Lautstärke>)
ENDOPT(*REWIND)
Wann soll ich meine SAVE21 einreichen?
Die SAVE21 soll ALLES sichern. Also müssen alle Objekte auf dem System für die Sicherungsarbeit verfügbar sein. Um dies sicherzustellen, reduzierte IBM den Zugriff auf SAVE21 auf die Zeit, in der sich das System im eingeschränkten Modus befindet, d. h. alle Jobs und Subsysteme sind gestoppt.
Nur hat dieser eingeschränkte Modus schwerwiegende Folgen: Auf IBM i kann dann nicht mehr zugegriffen werden, und nur ein Job kann auf Ihrem System laufen: der Sicherungsjob. Alle Ihre Anwendungen werden also heruntergefahren, und das System ist unzugänglich und kann nur über eine Konsole (HMC oder LAN) verwaltet werden.
Das Timing ist also entscheidend, man muss den Zeitraum finden können, in dem eine solche Aktion möglichst wenig Auswirkungen hat. Außerdem sollten Sie im Systemplaner überprüfen, ob für die Zeit des eingeschränkten Modus Jobs geplant sind, um diese (falls nötig) am Ende des Backups erneut zu starten.
Wie reicht man das Backup ein?
Die Frage „Wie?“ ist in der Tat die komplexeste Frage, die es im Rahmen von SAVE21 zu beantworten gilt. Da der eingeschränkte Modus verhindert, dass Sie nach dem Start des Backups reagieren können, sollten Sie vor der Einreichung alle möglichen Unterbrechungsursachen einkalkuliert haben: Sie müssen genau prüfen, ob sich die Backup-Cartridge im Laufwerk befindet und verwendet werden kann:
Sie sollten sich immer vorher vergewissern, dass das Band richtig in das Laufwerk eingelegt ist. Mit diesem Befehl wird auch die Meldung “ CPC6778 “ freigegeben, in der der Name des im Laufwerk gemounteten Volumes über ein RCVMSG abrufbar ist.
Im Falle einer Bandothek oder VTL erspart dies die Angabe des Namens des harten Sicherungsvolumens im Quellcode. Beachten Sie jedoch, dass der Befehl CHKTAP nicht direkt auf einer Bandbibliothek funktioniert, sondern die Meldung CPF415A ausgegeben wird. In diesem Fall suchen Sie zunächst den gewünschten Band. Überprüfen Sie mit Option 5 die Kategorie (und ggf. das System) dieser Patrone.
Montieren Sie die Patrone, und verwenden Sie dann den Befehl :
<System> muss nur ausgefüllt werden, wenn die Kategorie *NOSHARE ist. Er verweist in der Regel auf den im DSPNETA angezeigten Namen. Sie müssen auch darauf achten, dass Sie das Band vor der Verwendung richtig initialisieren:
INZTAP DEV(<device>) CHECK(*NO)
Danach muss sichergestellt werden, dass der Job korrekt eingereicht wird und dass der eingeschränkte Modus möglich ist.
Während des eingeschränkten Modus ist nur das Kontrollsubsystem aktiv, mit nur einer Arbeit darin. Übrigens: Der Eintritt in den eingeschränkten Modus erfolgt durch das Herunterfahren aller Subsysteme, und der Austritt aus diesem Modus erfolgt durch den Neustart des Kontrollsubsystems, wodurch ein Job zur Ausführung des Startprogramms ausgelöst wird.
Das Kontrollsubsystem wird im Systemwert QCTLSBSD angegeben. Auf den meisten Systemen ist das Kontrollsubsystem QSYS/QCTL und die Sitzung, die darin läuft, QSYS/DSP01. Es muss sichergestellt werden, dass diese gestartet werden. Das Startprogramm wird im Systemwert QSTRUPPGM angegeben. Dieser kann nach Belieben angepasst werden. Sie müssen also sicherstellen, dass er das gesamte Anwendungsprogramm startet. Außerdem muss sichergestellt werden, dass der JOBQ, der mit dem Kontrollsubsystem verbunden ist, freigegeben ist und ob die Sitzung, mit der sich die Arbeit verbindet, frei ist.
Schließlich muss die Leistung des Systems, an dem man arbeitet, berücksichtigt werden. Sie sollten nicht zögern, DLYJOBs einzufügen, die es zum Beispiel ermöglichen, SAVSYS erst zu starten, wenn der eingeschränkte Modus erreicht ist. Man kann auch warten, bis die Nachricht CPF0968 freigegeben ist, und dann die Sicherung starten.
Außerdem kann es sein, dass manche Aufträge auf ein Ergebnis warten, bevor die Arbeit beim nächsten Auftrag fortgesetzt wird. Diese Zeit, in der Sie auf ein Ergebnis warten, kann bei geringer Leistung geändert werden :
CHGJOB DFTWAIT(<Dauer_in_Sekunden>)
Schließlich ist die Gesamtleistung der Arbeit sogar im Batch-Start-Befehl des eingeschränkten Modus des Systems zu berücksichtigen:
ENDSBS SBS(*ALL) OPTION(*IMMED) BCHTIMLMT(<maximale_Dauer_des_gedrosselten_Modus_in_Minuten>)
Der im Parameter BCHTIMLMT angegebene Wert legt nämlich fest, wie lange der eingeschränkte Modus maximal dauern darf, und zwar auch dann, wenn die Arbeit auf irgendeine Weise blockiert wird.
Man muss darauf achten, dass man diese Zeit nicht zu kurz ansetzt, damit die Arbeit normal beendet werden kann, aber auch nicht zu lang, da man dann Gefahr läuft, dass das System nicht wiederhergestellt werden kann, wenn sich die Benutzer anmelden müssen.
Wenn diese Zeit erreicht ist, startet das Kontrollsubsystem neu, unabhängig davon, ob die Arbeit beendet ist oder nicht. Wenn Sie vorhaben, ein Programm zu erstellen, das sowohl interaktiv als auch im Batchbetrieb funktioniert, müssen Sie diesen Befehl konditionieren: Wenn *NOMAX angegeben wird (oder der Parameter auf seinem Standardwert belassen wird), dann wird der Befehl nicht im Batchbetrieb funktionieren. Wenn ein anderer Wert als *NOMAX angegeben wird, dann wird der Befehl nicht interaktiv funktionieren.
Weitere Einstellungen für die Sicherung :
Die Backup-Befehle können in beliebiger Reihenfolge ausgeführt werden, außer SAVSYS, das zuerst ausgeführt werden muss, damit der Mikrocode am Anfang des Backups steht, um einen IPL von dieser Quelle aus starten zu können.
Der Parameter ENDOPT muss dann entsprechend dieser Reihenfolge angepasst werden, um *LEAVE für aufeinanderfolgende Sicherungen und *REWIND oder *UNLOAD (je nach Bedarf) am Ende der Sicherung anzuzeigen. Denn mit *LEAVE lässt sich beim Zurückspulen des Bandes viel Zeit sparen.
Ihre Datensicherung funktioniert gut, aber nach der Wiederherstellung einer Warteschlange ist kein Spool vorhanden? Wenn Spools für Ihr Anwendungsprogramm wichtig sind, ist es von entscheidender Bedeutung, einen zusätzlichen Parameter anzugeben, dessen Standardwert keine Sicherung von Spool-Dateien zulässt. In diesem Fall müssen Sie SPLFDTA(*ALL) genau angeben. Dasselbe lässt sich für den Inhalt von *DTAQ sagen: QDTA(*DTAQ).
Wenn der Status der Backups von einem Team verfolgt werden soll, kann es schließlich von Vorteil sein, die Einstellung OUTPUT zu ändern.
Mit *PRINT wird eine Spool-Datei abgerufen, die man später in einem bestimmten OUTQ „ablegen“ kann.
Mit *OUTFILE können Sie das Ergebnis einer Datensicherung in einer externen Datei speichern. OUTFILE und OUTMBR müssen dann mit *OUTFILE angegeben werden, um den Speicherort der Datei zu spezifizieren. Es ist zum Beispiel möglich, ein Mitglied pro Backup mit einem Zeitstempel zu versehen, um eine Historie zu behalten. Die ausgegebenen Informationen werden dann am Parameter INFTYPE festgelegt. Für den SAV-Befehl zur Sicherung des IFS ist die Option *OUTFILE für den Parameter OUTPUT nicht verfügbar.
Achtung, für den Befehl SAVLIB LIB(*NONSYS) […] OUTPUT(*OUTFILE) OUTFILE(<Bibliothek>/<outfile>), zählt der SAVE21 systematisch ein ungesichertes Objekt, die berühmte Datei in der Ausgabe <Bibliothek>/<outfile>. Der Sicherungsauftrag kann mit einem Endcode ungleich 0 enden, was für die Überwachung und Berichterstattung problematisch sein kann.
Wie kann man von einer SAVE21 profitieren?
Der Hauptnachteil eines SAVE21 ist, dass das System in einen eingeschränkten Modus versetzt wird. Aber jeder Nachteil kann genutzt werden, um eine Stärke zu werden. Tatsächlich kann man sich die Notwendigkeit des eingeschränkten Modus zunutze machen, um Befehle zu übermitteln, die im „normalen Modus“ nicht möglich sind.
Beispielsweise kann man den eingeschränkten Modus nutzen, um einen „reclaim storage“ (RCLSTG), eine Hardware-Operation oder Operationen zu starten, die ohne Aktivität besser funktionieren (Protokollierung stoppen, ein Subsystem ändern, das Anmeldetestbild ändern, die am häufigsten verwendeten Dateien „reorganisieren“, PTFs anwenden …).
Sie haben Fragen zu einem bestimmten Thema rund um die IBM i? Dann kontaktieren Sie uns unter 04 30 96 97 32, oder über das Kontaktformular.