Datenbank aktualisieren
In diesem Artikel werden die Verfahren zum Aktualisieren einer Datenbank in einem DB-System mit der Konsole und der API beschrieben.
Erforderliche IAM-Policy
Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Ihnen Sicherheitszugriff in einer Policy erteilen. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen Sie den Administrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Sie arbeiten sollen.
Für Administratoren: Mit der Policy unter Verwalten von Oracle Cloud-Datenbanksystemen durch Datenbankadministratoren zulassen kann die angegebene Gruppe alle Vorgänge mit Datenbanken und zugehörigen Datenbankressourcen durchführen.
Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Erste Schritte mit Policys und Allgemeine Policys. Ausführlichere Informationen zum Schreiben von Policys für Datenbanken finden Sie unter Details zum Database-Service.
Verwandte Themen
Datenbanken aktualisieren
Oracle empfiehlt, das DB-System vor der Datenbank in diesem DB-System zu aktualisieren.
Für Oracle Database sind Updates für die vier neuesten Versionen (N bis N-3) verfügbar. Beispiel: Wenn eine Instanz 21c verwendet und die neueste verfügbare Version von 21c 21.10.0.0 ist, sind 21.10.0.0, 21.9.0.0, 21.8.0.0 und 21.7.0.0 für Oracle Database-Updates verfügbar. Sie können ein beliebiges dieser Updates verwenden, aber Oracle empfiehlt die Verwendung des neuesten Updates.
Sie können Oracle Database auch mit einem benutzerdefinierten Datenbanksoftwareimage aktualisieren. Wenn Sie mit einem Softwareimage aktualisieren, unterstützt Oracle die Aktualisierung mit jedem Image basierend auf einer der vier neuesten Versionen (N bis N-3).
Folgendes gilt nur für Oracle-basierte Updates ab April 2022 für 12.1 und 12.2 und Juli 2022 für 19c.
Wenn Sie Interimsupdates (früher als One-off-Patch bezeichnet) installiert haben, werden diese vor der Installation des neuen Updates automatisch zurückgesetzt. Wenn das neue Update die Interimsupdates nicht enthält, können Sie das Interimsupdate nach Abschluss der Installation des neuen Updates erneut installieren.
Wenn Sie Interimsupdates in Ihrer Datenbank installiert haben, empfiehlt Oracle, dass Sie ein benutzerdefiniertes Datenbanksoftwareimage verwenden und Ihre Datenbank mit diesem Image aktualisieren, damit Sie keine Interimsupdates nach dem neuen Update installieren müssen.
Nach der Vorabprüfung können Sie ermitteln, ob Sie zusätzliche Interimsupdates installiert haben, indem Sie den folgenden Befehl in dbcli ausführen.
dbcli describe-job -i <job id>
Dabei ist job id
(dbcli list-jobs
) die Job-ID der Vorabprüfungsausführung.
Alle Änderungen im Oracle Home werden in die neu aktualisierte und installierte Datenbank kopiert.
Hinweis:
- Oracle rät davon ab, Dateien innerhalb des Datenbank-Homes zu ändern.
- Sie müssen unbedingt sicherstellen, dass alle Änderungen, die Sie am Datenbank-Home vorgenommen haben, korrekt kopiert werden. Wenn Sie Dateien oder Ordner wie
tnsnames.ora
,listener.ora
usw. in Ihr Datenbank-Home kopiert haben, sichern Sie diese Dateien manuell.
Das DB-System muss Zugriff auf die Identitäts- und Objektspeicherendpunkte in OCI haben. Wenn das in einem privaten Subnetz ausgeführte DB-System nur mit einem Servicegateway und keinem zusätzlichen Gateway (z.B. NAT-Gateway) konfiguriert wurde, müssen Sie sicherstellen, dass das Servicegateway den Zugriff auf alle Oracle-Services und nicht nur auf Object Storage zulässt. Wenn die Identitäts- und Objektspeicherendpunkte auf andere Weise erreicht werden können, sind keine Änderungen erforderlich.
Weitere Informationen zur Liste der aktuell verfügbaren Datenbankupdates finden Sie unter Derzeit verfügbare Updates.
Hinweis:
OJVM-Updates müssen manuell mit dem OPATCH-Tool eingespielt werden.Interimsupdates mit einem Datenbanksoftwareimage einspielen
Es wird nicht empfohlen, Interimsupdates in die DB-Systeme einzuspielen. Stattdessen sollten Sie ein Datenbanksoftwareimage erstellen und bereitstellen, das die erforderlichen Fixes enthält. Nur in Fällen, in denen Sie kein Datenbanksoftwareimage verwenden können, z.B. um ein Interimsupdate in einem GI-Home einzuspielen, können Sie eine Serviceanfrage einreichen und Supportunterstützung zum Herunterladen eines Interimsupdates anfordern.
Weitere Informationen zu Datenbanksoftwareimages finden Sie unter Softwareimages.
Datenbankupdate einspielen
Führen Sie die folgenden Schritte aus, um die Datenbank von einem älteren Updaterelease zu aktualisieren.
- Öffnen Sie das Navigationsmenü. Wählen Sie Oracle Database und dann Oracle Base Database Service aus.
- Wählen Sie das Compartment aus. Eine Liste mit DB-Systemen wird angezeigt.
- Klicken Sie in der Liste der DB-Systeme auf den Namen des DB-Systems, das die zu aktualisierende Datenbank enthält.
- Die Details des DB-Systems gefolgt von einer Liste der Datenbanken werden angezeigt.
- Klicken Sie in der Liste der Datenbanken auf den Namen der zu aktualisierenden Datenbank.
- Klicken Sie auf der Registerkarte Datenbankinformationen unter Version auf den Link Anzeigen neben dem Feld Datenbankversion.
- Prüfen Sie unter Datenbank die Liste der verfügbaren Updates für die Datenbank.
- Auf der Registerkarte Oracle Database-Softwareimages werden allgemein verfügbare Oracle Database-Softwareimages angezeigt, mit denen Sie Ihre Datenbank aktualisieren können.
- Auf der Registerkarte Benutzerdefinierte Datenbanksoftwareimages können Sie ein Datenbanksoftwareimage auswählen, das Sie zuvor erstellt haben.
- Mit dem Selektor Compartment auswählen können Sie das Compartment angeben, das das Softwareimage enthält.
- Mit dem Filter Region können Sie auf die Softwareimages zugreifen, die in einer anderen Region erstellt wurden.
- Klicken Sie auf das Menü Aktionen für das gewünschte Update und dann auf eine der folgenden Aktionen:
- Vorabprüfung: Prüfen Sie die Voraussetzungen, damit das Update erfolgreich eingespielt werden kann. Um die Vorabprüfung auszuführen, klicken Sie auf Precheck, und bestätigen Sie den Vorgang im Dialogfeld Precheck bestätigen.
- Anwenden: Spielt das ausgewählte Update ein. Oracle empfiehlt, dass Sie die Vorabprüfung für ein Update ausführen, bevor Sie es einspielen. Um das Update anzuwenden, klicken Sie auf Anwenden, und bestätigen Sie den Vorgang im Dialogfeld Bestätigen.
In der Liste wird unter Status der Status des Vorgangs angezeigt. Während ein Update eingespielt wird, wird als Status Wird aktualisiert angezeigt. Der Status der Datenbank wird ebenfalls als Aktualisieren angezeigt. Lebenszyklusvorgänge in der Datenbank und ihren Ressourcen sind möglicherweise vorübergehend nicht verfügbar. Wenn die Aktualisierung erfolgreich abgeschlossen wird, ändert sich der Status in Angewendet und der Status der Datenbank in Verfügbar.
Datenbankupdatehistorie anzeigen
Führen Sie die folgenden Schritte aus, um die Updatehistorie einer Datenbank anzuzeigen.
Hinweis:
In den Updatehistorienansichten in der Konsole werden keine Updates angezeigt, die mit Befehlszeilentools wie dbcli oder dem Patchutility angewendet wurden.- Öffnen Sie das Navigationsmenü. Wählen Sie Oracle Database und dann Oracle Base Database Service aus.
- Wählen Sie das Compartment aus. Eine Liste mit DB-Systemen wird angezeigt.
- Klicken Sie in der Liste der DB-Systeme auf den Namen des DB-Systems mit der Datenbank, für die Sie die Updatedetails anzeigen möchten.
- Die Details des DB-Systems gefolgt von einer Liste der Datenbanken werden angezeigt.
- Klicken Sie in der Liste der Datenbanken auf den Namen der Datenbank, deren Updatedetails Sie anzeigen möchten.
- Klicken Sie auf der Registerkarte Datenbankinformationen unter Version auf den Link Anzeigen neben dem Feld Datenbankversion.
- Klicken Sie auf der Seite Updates im linken Menü auf Updatehistorie.
- Die Historie der Aktualisierungs- und Upgradevorgänge für diese Datenbank wird angezeigt.
Interimsupdate einspielen
Hinweis:
Dieses Thema gilt nur für Datenbank-Home-Verzeichnisse in RAC-DB-Systemen mit einem oder mehreren Knoten.Um zur Korrektur eines bestimmten Fehlers ein Interimsupdate einzuspielen, gehen Sie wie in diesem Abschnitt beschrieben vor. Verwenden Sie das Opatch
-Utility, um ein Interimsupdate in einem Datenbank-Home einzuspielen.
Hinweis:
In dem Beispiel ist das Datenbank-Home-Verzeichnis /u02/app/oracle/product/12.1.0.2/dbhome_1, die Aktualisierungsnummer ist 26543344.- Rufen Sie das entsprechende Interimsupdate von My Oracle Support ab.
- Lesen Sie die Informationen in der Datei
README.txt
. Diese Datei enthält möglicherweise zusätzliche und/oder spezielle Anweisungen, um das Update erfolgreich einzuspielen. - Verwenden Sie SCP oder SFTP, um das Update auf der Zieldatenbank zu speichern.
- Fahren Sie jede Datenbank herunter, die im Datenbank-Home ausgeführt wird.
srvctl stop database -db <db name> -stopoption immediate -verbose
- Legen Sie die Umgebungsvariable für das Oracle Home so fest, dass sie auf das Ziel-Oracle Home verweist.
sudo su - oracle export ORACLE_HOME=/u02/app/oracle/product/12.1.0.2/dbhome_1
- Wechseln Sie zu dem Verzeichnis, in dem Sie das Update gespeichert haben, und dekomprimieren Sie das Update.
cd <working directory where opatch is stored> unzip p26543344_122010_Linux-x86-64.zip
- Wechseln Sie zu dem Verzeichnis mit dem dekomprimierten Update, und prüfen Sie, ob Konflikte vorliegen.
cd 26543344 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
- Spielen Sie das Update ein.
$ORACLE_HOME/OPatch/opatch apply
- Prüfen Sie, ob das Update erfolgreich eingespielt wurde.
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME
- Wenn das Datenbank-Home Datenbanken enthält, starten Sie diese neu.
$ORACLE_HOME/bin/srvctl start database -db <db name>
Führen Sie andernfalls den folgenden Befehl als
root
-Benutzer aus.# /u01/app/<db version>/grid/bin/setasmgidwrap o=/u01/app/oracle/product/<db version>/dbhome_1/bin/oracle
- Wenn in der Readme-Datei angegeben ist, dass das Update über eine
sqlpatch
-Komponente verfügt, führen Sie dendatapatch
-Befehl für jede Datenbank aus.Bevor Sie
datapatch
ausführen, stellen Sie sicher, dass alle integrierbaren Datenbanken geöffnet sind. Um eine PDB zu öffnen, können Sie mit SQL*Plus folgenden Befehl für die PDB ausführen.ALTER PLUGGABLE DATABASE <pdb name> OPEN READ WRITE
$ORACLE_HOME/OPatch/datapatch
API verwenden
Informationen zur Verwendung der API und zu Signieranforderungen finden Sie unter REST-APIs und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter Software Development Kits und Befehlszeilenschnittstelle (CLI).
Verwenden Sie die folgenden APIs, um Datenbankupdates zu verwalten:
- ListDbHomePatches
- ListDbHomePatchHistoryEntries
- GetDbHomePatch
- GetDbHomePatchHistoryEntry
- UpdateDbHome
- UpdateDatabase
Die vollständige Liste der APIs für den Database-Service finden Sie unter Database-Service-API.