Upgrade einer DB-Instance für Amazon RDS Custom für Oracle - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Upgrade einer DB-Instance für Amazon RDS Custom für Oracle

Sie können eine Amazon RDS Custom DB-Instance aktualisieren, indem Sie sie ändern, um eine neue benutzerdefinierte Engine-Version (CEV) zu verwenden. Allgemeine Informationen zu Upgrades finden Sie unter Upgrade der Engine-Version für eine DB-Instance.

Übersicht über Aktualisierungen in RDS Custom für Oracle

Mit RDS Custom für Oracle können Sie entweder Ihre Oracle-Datenbank oder Ihr DB-Instance-Betriebssystem (OS) patchen, indem Sie neue CEVs erstellen und dann Ihre Instance so ändern, dass sie das neue CEV verwendet.

CEV-Upgrade-Optionen

Wenn Sie ein CEV für ein Upgrade erstellen, haben Sie die folgenden Optionen, die sich gegenseitig ausschließen:

Nur Datenbank

Verwenden Sie das Amazon Machine Image (AMI) wieder, das derzeit von Ihrer DB-Instance verwendet wird, geben Sie jedoch andere Datenbank-Binärdateien an. RDS Custom weist ein neues Binär-Volume zu und fügt es dann an die bestehende Amazon-EC2-Instance an. RDS Custom ersetzt das gesamte Datenbank-Volume durch ein neues Volume, das Ihre Zieldatenbankversion verwendet.

Nur OS

Verwenden Sie das Amazon Machine Image (AMI) wieder, das derzeit von Ihrer DB-Instance verwendet wird, geben Sie jedoch ein anderes AMI an. RDS Custom weist eine neue Amazon-EC2-Instance zu und fügt dann das bestehende Binär-Volume an die neue Instance an. Das bestehende Datenbank-Volume wird beibehalten.

Wenn Sie sowohl das Betriebssystem als auch die Datenbank aktualisieren möchten, müssen Sie die CEV zweimal aktualisieren. Sie können entweder das Betriebssystem und dann die Datenbank oder die Datenbank und dann das Betriebssystem aktualisieren.

Warnung

Wenn Sie Ihr Betriebssystem patchen, verlieren Sie Ihre Root-Volume-Daten und alle vorhandenen Betriebssystemanpassungen. Daher empfehlen wir Ihnen dringend, das Root-Volume nicht für Installationen oder zum Speichern von permanenten Daten oder Dateien zu verwenden. Außerdem sollten Sie Ihre Daten vor dem Upgrade sichern.

Patchen ohne CEVs

Wir empfehlen Ihnen dringend, Ihre DB-Instance RDS Custom for Oracle mithilfe von CEVs zu aktualisieren. RDS Custom for Oracle Automation synchronisiert die Patch-Metadaten mit der Datenbank-Binärdatei auf Ihrer DB-Instance.

Unter besonderen Umständen unterstützt RDS Custom das Anwenden eines „einmaligen“ Patches direkt mit dem OPatch-Dienstprogramm auf die zugrunde liegende Amazon-EC2-Instance. Ein gültiger Anwendungsfall könnte ein Datenbank-Patch sein, den Sie sofort anwenden möchten, obwohl das RDS-Custom-Team gerade das CEV-Feature aktualisiert, was zu einer Verzögerung führt. Führen Sie die folgenden Schritte aus, um einen manuellen Datenbank-Patch anzuwenden:

  1. Pausieren Sie RDS Custom Automatisierung.

  2. Wenden Sie Ihren Patch auf die Datenbank-Binärdateien der Amazon-EC2-Instance an.

  3. Fortsetzen Sie RDS Custom Automatisierung fort

Ein Nachteil der vorherigen Technik besteht darin, dass Sie den Patch manuell auf jede Instance anwenden müssen, die Sie aktualisieren möchten. Im Gegensatz dazu können Sie beim Erstellen eines neuen CEV mehrere DB-Instances mit demselben CEV erstellen oder aktualisieren.

Allgemeine Schritte zum Patchen Ihrer DB-Instance mit einer CEV

Unabhängig davon, ob Sie das Betriebssystem oder Ihre Datenbank patchen, führen Sie die folgenden grundlegenden Schritte aus:

  1. Erstellen Sie eine CEV, die eines der folgenden Elemente enthält, je nachdem, ob Sie die Datenbank oder das Betriebssystem patchen:

    • Die Oracle Database RU, die Sie auf Ihre DB-Instance anwenden möchten

    • Ein anderes AMI – entweder das neueste verfügbare oder eines, das Sie angeben – und eine vorhandene CEV, die als Quelle verwendet werden soll

    Führen Sie die Schritte unter Erstellen einer CEV aus.

  2. (Optional für Datenbank-Patches) Überprüfen Sie die verfügbaren Engine-Versions-Upgrades, indem Sie den Befehl describe-db-engine-versions ausführen.

  3. Starten Sie den Patch-Vorgang, indem Sie modify-db-instance ausführen.

    Der Status der Instance, die gepatcht wird, unterscheidet sich wie folgt:

    • Während RDS den Datenbank-Patch durchführt, ändert sich der Status der DB-Instance in Wird aktualisiert.

    • Während RDS Patches für das Betriebssystem durchführt, ändert sich der Status der DB-Instance in Wird geändert.

    Wenn die DB-Instance den Status Verfügbar hat, ist das Patchen abgeschlossen.

  4. Vergewissern Sie sich, dass Ihre DB-Instance die neue CEV verwendet, indem Sie describe-db-instances ausführen.

Anforderungen für Upgrades von RDS Custom für Oracle

Stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind, wenn Sie Ihre DB-Instance von RDS Custom für Oracle aktualisieren:

  • Die Ziel-CEV, auf die Sie ein Upgrade durchführen, muss vorhanden sein.

  • Sie müssen entweder das Betriebssystem oder die Datenbank in einem einzigen Vorgang aktualisieren. Ein Upgrade sowohl des Betriebssystems als auch der Datenbank in einem einzigen API-Aufruf wird nicht unterstützt.

  • Die Ziel-CEV muss die Installationsparametereinstellungen verwenden, die im Manifest der aktuellen CEV enthalten sind. Zum Beispiel können Sie eine Datenbank, die das Standard-Oracle-Standardverzeichnis verwendet, nicht auf eine CEV aktualisieren, die ein nicht standardmäßiges Oracle-Standardverzeichnis verwendet.

  • Für Datenbank-Upgrades muss die Ziel-CEV eine neue Datenbank-Nebenversion verwenden, keine neue Hauptversion. Zum Beispiel ist ein Upgrade von einer Oracle-Database-12c-CEV auf eine Oracle-Database-19c-CEV nicht möglich. Sie können jedoch ein Upgrade von Version 21.0.0.0.ru-2023-04.rur-2023-04.r1 auf Version 21.0.0.0.ru-2023-07.rur-2023-07.r1 durchführen.

  • Für Betriebssystem-Upgrades muss die Ziel-CEV ein anderes AMI verwenden, aber dieselbe Hauptversion haben.

Überlegungen zu Datenbank-Upgrades von RDS Custom for Oracle

Wenn Sie planen, Ihre Datenbank zu aktualisieren, sollten Sie Folgendes berücksichtigen:

  • Wenn Sie ein Upgrade für die Datenbank-Binärdateien in der primären DB-Instance durchführen, aktualisiert RDS Custom für Oracle Ihre Lesereplikate automatisch. Wenn Sie ein Upgrade für das Betriebssystem durchführen, müssen Sie die Lesereplikate manuell aktualisieren.

  • Wenn Sie eine Container-Datenbank (CDB) auf eine neue Datenbankversion aktualisieren, überprüft RDS Custom for Oracle, ob alle PDBs geöffnet sind oder geöffnet werden könnten. Wenn diese Bedingungen nicht erfüllt sind, stoppt RDS Custom die Prüfung und setzt die Datenbank in ihren ursprünglichen Zustand zurück, ohne das Upgrade zu versuchen. Wenn die Bedingungen erfüllt sind, patcht RDS Custom zuerst den CDB-Root und dann parallel alle anderen PDBs (einschließlich PDB$SEED).

    Nach Abschluss des Patches versucht RDS Custom, alle PDBs zu öffnen. Wenn sich PDBs nicht öffnen lassen, erhalten Sie das folgende Ereignis: The following PDBs failed to open: list-of-PDBs. Wenn RDS Custom das CDB-Root oder irgendwelche PDBs nicht patchen kann, wird die Instance in den Status PATCH_DB_FAILED versetzt.

  • Möglicherweise möchten Sie gleichzeitig ein Hauptversions-Upgrade und eine Konvertierung von Nicht-CDB zu CDB durchführen. In diesem Fall empfehlen wir folgende Vorgehensweise:

    1. Erstellen Sie eine neue RDS Custom for Oracle-DB-Instance, die die Oracle-Multitenant-Architektur verwendet.

    2. Schließen Sie eine Nicht-CDB in Ihr CDB-Root an und erstellen Sie sie als PDB. Stellen Sie sicher, dass die Nicht-CDB dieselbe Hauptversion wie Ihre CDB hat.

    3. Konvertieren Sie Ihre PDB, indem Sie das noncdb_to_pdb.sql Oracle SQL-Skript ausführen.

    4. Validieren Sie Ihre CDB-Instance.

    5. Führen Sie ein Upgrade für Ihre CDB-Instance aus.

Überlegungen zu Upgrades von RDS Custom für Oracle OS

Wenn Sie ein Betriebssystem-Upgrade planen, sollten Sie Folgendes berücksichtigen:

  • Sie können kein eigenes AMI zur Verwendung in einem RDS Custom for Oracle CEV bereitstellen. Sie können entweder das Standard-AMI oder ein AMI angeben, das zuvor von einem RDS Custom for Oracle CEV verwendet wurde.

    Anmerkung

    RDS Custom for Oracle veröffentlicht ein neues Standard-AMI, wenn allgemeine Sicherheitslücken und Sicherheitslücken entdeckt werden. Es ist kein fester Zeitplan verfügbar oder garantiert. RDS Custom for Oracle veröffentlicht in der Regel alle 30 Tage ein neues Standard-AMI.

  • Wenn Sie das Betriebssystem in Ihrer primären DB-Instance aktualisieren, müssen Sie die zugehörigen Read Replicas manuell aktualisieren.

  • Reservieren Sie ausreichend Amazon EC2 EC2-Rechenkapazität für Ihren Instance-Typ in Ihrer AZ, bevor Sie mit dem Patchen des Betriebssystems beginnen.

    Wenn Sie eine Kapazitätsreservierung erstellen, geben Sie die AZ, die Anzahl der Instances und die Instance-Attribute (einschließlich des Instance-Typs) an. Wenn Ihre DB-Instance beispielsweise den zugrunde liegenden EC2-Instance-Typ r5.large verwendet, empfehlen wir Ihnen, EC2-Kapazität für r5.large in Ihrer AZ zu reservieren. Während des Ausführens von Betriebssystem-Patches erstellt RDS Custom einen neuen Host vom Typ db.r5.large, der hängen bleiben kann, wenn der AZ die EC2-Kapazität für diesen Instance-Typ fehlt. Wenn Sie EC2-Kapazität reservieren, verringern Sie das Risiko, dass Patches aufgrund von Kapazitätsengpässen blockiert werden. Weitere Informationen finden Sie unter Kapazitätsreservierungen auf Abruf im Amazon EC2 EC2-Benutzerhandbuch.

  • Erstellen Sie eine Sicherungskopie Ihrer DB-Instance, bevor Sie ihr Betriebssystem aktualisieren. Durch das Upgrade werden Ihre Root-Volume-Daten und alle vorhandenen Betriebssystemanpassungen entfernt.

  • Im Modell der geteilten Verantwortung sind Sie dafür verantwortlich, Ihr Betriebssystem auf dem neuesten Stand zu halten. RDS Custom for Oracle schreibt nicht vor, welche Patches Sie auf Ihr Betriebssystem anwenden. Wenn Ihr RDS Custom for Oracle funktionsfähig ist, können Sie das mit diesem CEV verknüpfte AMI unbegrenzt verwenden.

Anzeigen gültiger Upgrade-Ziele für RDS-Custom-für-Oracle-DB-Instances

Sie können vorhandene CEVs auf der Benutzerdefinierte Engine-Versionen in AWS Management Console anzeigen.

Sie können auch den AWS CLI Befehl describe-db-engine-versions verwenden, um gültige CEVs zu finden, die Sie beim Upgrade Ihrer DB-Instances verwenden können, wie im folgenden Beispiel gezeigt. In diesem Beispiel wird vorausgesetzt, dass Sie eine DB-Instance mit der Engine-Version 19.my_cev1 erstellt haben und dass die Upgrade-Versionen 19.my_cev2 und 19.my_cev vorhanden sind.

aws rds describe-db-engine-versions --engine custom-oracle-ee --engine-version 19.my_cev1

Die Ausgabe sieht in etwa folgendermaßen aus. Das ImageId-Feld zeigt die AMI-ID an.

{ "DBEngineVersions": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev1", ... "Image": { "ImageId": "ami-2345", "Status": "active" }, "DBEngineVersionArn": "arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12a34b5c-67d8-90e1-2f34-gh56ijk78lm9" "ValidUpgradeTarget": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev2", "Description": "19.my_cev2 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false }, { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev3", "Description": "19.my_cev3 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false } ] ...

Upgrade einer benutzerdefinierten RDS-für-Oracle-DB-Instance

Um Ihre RDS-Custom-für-Oracle-DB-Instance zu aktualisieren, ändern Sie sie so, dass sie eine neue CEV verwendet. Diese CEV kann entweder neue Datenbank-Binärdateien oder ein neues AMI enthalten. Wenn Sie die Datenbank und das Betriebssystem aktualisieren möchten, müssen Sie zwei separate Upgrades durchführen.

Anmerkung

Wenn Sie ein Upgrade für die Datenbank durchführen, aktualisiert RDS Custom automatisch Lesereplikate, nachdem es die primäre DB-Instance aktualisiert hat. Wenn Sie das Betriebssystem aktualisieren, müssen Sie die Lesereplikate manuell aktualisieren.

Bevor Sie beginnen, überprüfen Sie Anforderungen für Upgrades von RDS Custom für Oracle und Überlegungen zu Datenbank-Upgrades von RDS Custom for Oracle.

So ändern Sie eine DB-Instance von RDS Custom für Oracle
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Datenbanken und dann die DB-Instance von RDS Custom für Oracle aus, die Sie aktualisieren möchten.

  3. Wählen Sie Modify aus. Die Seite Modify DB instance (DB-Instance ändern) wird angezeigt.

  4. Wählen Sie für DB-Engine-Version eine andere CEV aus. Gehen Sie wie folgt vor:

    • Wenn Sie die Datenbank patchen, stellen Sie sicher, dass die CEV Datenbank-Binärdateien spezifiziert, die sich von denen unterscheiden, die von Ihrer DB-Instance verwendet werden, und dass kein AMI angegeben wird, das sich von dem AMI unterscheidet, das derzeit von Ihrer DB-Instance verwendet wird.

    • Wenn Sie das Betriebssystem patchen, stellen Sie sicher, dass die CEV ein AMI spezifiziert, das sich von dem unterscheidet, das von Ihrer DB-Instance verwendet wird, und dass keine unterschiedlichen Datenbank-Binärdateien angegeben werden.

      Warnung

      Wenn Sie Ihr Betriebssystem patchen, verlieren Sie Ihre Root-Volume-Daten und alle vorhandenen Betriebssystemanpassungen.

  5. Klicken Sie auf Weiter und überprüfen Sie die Zusammenfassung aller Änderungen.

    Wählen Sie Apply immediately (Sofort anwenden), um die Änderungen sofort anzuwenden.

  6. Wenn sie korrekt sind, wählen Sie Modify DB Instance (DB-Instance ändern) aus, um Ihre Änderungen zu speichern. Oder klicken Sie auf Zurück, um Ihre Änderungen zu bearbeiten, oder auf Abbrechen, um Ihre Änderungen zu verwerfen.

Die folgenden Beispiele zeigen mögliche Upgrade-Szenarien. In den Beispielen wird davon ausgegangen, dass Sie eine RDS-Custom-für-Oracle-DB-Instance mit den folgenden Eigenschaften erstellt haben:

  • DB-Instance mit dem Namen my-custom-instance

  • CEV mit dem Namen 19.my_cev1

  • Oracle Database 19c mit Nicht-CDB-Architektur

  • Oracle Linux 7.9 mit AMI ami-1234

Das neueste vom Service bereitgestellte AMI ist ami-2345. Sie finden AMIs mit dem CLI-Befehl describe-db-engine-versions.

Betriebssystem-Upgrade

In diesem Beispiel möchten Sie ein Upgrade von ami-1234 auf ami-2345 durchführen, das neueste vom Service bereitgestellte AMI. Da es sich um ein Betriebssystem-Upgrade handelt, müssen die Datenbank-Binärdateien für ami-1234 und ami-2345 identisch sein. Sie erstellen eine neue CEV mit dem Namen 19.my_cev2 basierend auf 19.my_cev1.

Für LinuxmacOS, oderUnix:

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev2 \ --description "Non-CDB CEV based on ami-2345" \ --kms-key-id key-name \ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 \ --image-id ami-2345

Windows:

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev2 ^ --description "Non-CDB CEV based on ami-2345" ^ --kms-key-id key-name ^ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 ^ --image-id ami-2345

Um eine RDS Custom DB-Instance zu aktualisieren, verwenden Sie den Befehl modify-db-instance AWS CLI mit den folgenden Parametern:

  • --db-instance-identifier – Geben Sie die RDS-Custom-für-Oracle-DB-Instance an, die aktualisiert werden soll.

  • --engine-version – Geben Sie die CEV an, die das neue AMI enthält.

  • --no-apply-immediately | --apply-immediately – Geben Sie an, ob das Upgrade sofort durchgeführt oder bis zum geplanten Wartungsfenster gewartet werden soll.

Das folgende Beispiel aktualisiert my-custom-instance zur Version 19.my_cev2. Nur das Betriebssystem wird aktualisiert.

Für LinuxmacOS, oderUnix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev2 \ --apply-immediately

Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev2 ^ --apply-immediately

Aktualisieren der Datenbank

In diesem Beispiel möchten Sie den Oracle-Patch p35042068 auf Ihre DB-Instance von RDS für Oracle anwenden. Da Sie Ihr Betriebssystem in Betriebssystem-Upgrade aktualisiert haben, verwendet Ihre DB-Instance derzeit 19.my_cev2, basierend auf ami-2345. Sie erstellen eine neue CEV mit dem Namen 19.my_cev3, die ebenfalls ami-2345 verwendet, Sie geben jedoch ein neues JSON-Manifest in der $MANIFEST-Umgebungsvariablen an. Somit unterscheiden sich nur die Datenbank-Binärdateien in Ihrer neuen CEV und der CEV, die von der Instance derzeit verwendet wird.

Für LinuxmacOS, oderUnix:

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev3 \ --description "Non-CDB CEV with p35042068 based on ami-2345" \ --kms-key-id key-name \ --image-id ami-2345 \ --manifest $MANIFEST

Windows:

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev3 ^ --description "Non-CDB CEV with p35042068 based on ami-2345" ^ --kms-key-id key-name ^ --image-id ami-2345 ^ --manifest $MANIFEST

Im folgenden Beispiel wird my-custom-instance auf die Engine-Version 19.my_cev3 aktualisiert. Nur die Datenbank wird aktualisiert.

Für LinuxmacOS, oderUnix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev3 \ --apply-immediately

Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev3 ^ --apply-immediately

Anzeigen ausstehender Datenbank-Upgrades für RDS-Custom-DB-Instances

Mit den Befehlen describe-db-instances oder describe-pending-maintenance-actions können Sie ausstehende Datenbank-Upgrades für Ihre Amazon RDS Custom DB-Instances einsehen. AWS CLI

Dieser Ansatz funktioniert jedoch nicht, wenn Sie die --apply-immediately-Option genutzt haben oder wenn das Upgrade ausgeführt wird.

Der folgende describe-db-instances-Befehl zeigt ausstehende Datenbank-Upgrades für my-custom-instance an.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

Die Ausgabe sieht in etwa folgendermaßen aus.

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } } ] }

Behebung eines Upgradefehlers für eine RDS-Custom für Oracle-DB-Instance

Wenn ein Upgrade der RDS Custom DB-Instance fehlschlägt, wird ein RDS-Ereignis generiert und der DB-Instance-Status wird upgrade-failed.

Sie können diesen Status mithilfe des Befehls describe-db-instances anzeigen, wie im folgenden Beispiel gezeigt. AWS CLI

aws rds describe-db-instances --db-instance-identifier my-custom-instance

Die Ausgabe sieht in etwa folgendermaßen aus.

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } "DBInstanceStatus": "upgrade-failed" } ] }

Nach einem Upgrade-Fehler werden alle Datenbankaktionen blockiert, außer dass die DB-Instance geändert wird, um die folgenden Aufgaben auszuführen:

  • Wiederholen des gleichen Upgrades

  • Anhalten und Fortsetzen der RDS Custom Automation

  • P-Wiederherstellung (PITR) oint-in-time

  • Löschen einer DB-Instance

Anmerkung

Wenn die Automatisierung für die RDS Custom DB-Instance angehalten wurde, können Sie das Upgrade erst wiederholen, wenn Sie die Automatisierung fortsetzen.

Die gleichen Aktionen gelten für einen Upgrade-Fehler für ein von RDS verwaltetes Lesereplikat wie für das primäre.

Weitere Informationen finden Sie unter Fehlerbehebung bei Upgrades für RDS Custom for Oracle.