Verschlüsselungsschlüssel auf externen Geräten verwalten

Hier erfahren Sie, wie Sie Datenbankverschlüsselungsschlüssel speichern und verwalten.

Es gibt zwei Möglichkeiten, Datenbankverschlüsselungsschlüssel für Ihre Datenbanken auf Oracle Exadata Database Service on Cloud@Customer zu speichern und zu verwalten:

  1. In einer Wallet-Datei mit automatischer Anmeldung, die in einem Oracle Advanced Cluster File System (Oracle ACFS) gespeichert ist, auf das das VM-Betriebssystem des Kunden zugreifen kann.
  2. Oracle Key Vault.

Kundenverwaltete Schlüssel in Oracle Exadata Database Service on Cloud@Customer

Vom Kunden verwaltete Schlüssel für Oracle Exadata Database Service on Cloud@Customer sind ein Feature, mit dem Sie den Oracle Database-TDE-Masterverschlüsselungsschlüssel für eine Oracle Database von der kennwortgeschützten Wallet-Datei migrieren können, die auf dem Oracle Exadata Database Service on Cloud@Customer-Equipment gespeichert ist, auf einen von Ihnen kontrollierten OKV-Server.

Oracle Key Vault (OKV) bietet fehlertolerante, hochverfügbare und skalierbare Schlüssel- und Secrets-Verwaltung für Ihre verschlüsselten ExaDB-C@C-Datenbanken. Verwenden Sie vom Kunden verwaltete Schlüssel, wenn Sie Sicherheits-Governance, Compliance und homogene Datenverschlüsselung benötigen und den Lebenszyklus der Schlüssel, die Sie zum Schutz Ihrer Daten verwenden, zentral verwalten, speichern und überwachen möchten.

Sie können Folgendes ausführen:

  • Von durch Oracle verwaltete Schlüssel zu vom Kunden verwalteten Schlüsseln bei Datenbanken wechseln, die nicht mit Oracle Data Guard aktiviert sind.
  • Die Schlüssel rotieren, um die Sicherheitscompliance zu erhalten.
  • Das Rotieren des PDB-Schlüssels wird ebenfalls unterstützt. Rotieren von CDB- und PDB-Schlüsselvorgängen ist nur zulässig, wenn die Datenbank vom Kunden verwaltet wird.

Anforderungen

Oracle Key Vault

Oracle Key Vault ist eine sicherheitserprobte Full-Stack-Software-Appliance, mit der Sie Schlüssel und Sicherheitsobjekte im Unternehmen zentral verwalten können.

Hinweis

Oracle Key Vault ist ein vom Kunden bereitgestelltes und verwaltetes System, das nicht zu den von Oracle Cloud Infrastructure verwalteten Services gehört.

Überblick über Keystore

Integrieren Sie Ihren On-Premise-Oracle Key Vault (OKV) in vom Kunden verwaltete Datenbank-Cloud-Services, um Ihre kritischen Daten On Premise zu sichern.

Durch die Integration von Oracle Key Vault können Sie Ihre Verschlüsselungsschlüssel vollständig kontrollieren und sicher auf einem externen, zentralisierten Schlüsselverwaltungsgerät speichern.

OKV ist für Oracle-Wallets, Java Keystores und Oracle Advanced Security Transparent Data Encryption-(TDE-)Masterschlüssel optimiert. Oracle Key Vault unterstützt den OASIS KMIP-Standard. Die sichere Full-Stack-Software-Appliance verwendet Oracle Linux und Oracle Database für Sicherheit, Verfügbarkeit und Skalierbarkeit und kann auf kompatibler Hardware Ihrer Wahl bereitgestellt werden.

OKV stellt auch eine REST-Schnittstelle bereit, über die Clients Endpunkte automatisch registrieren und Wallets und Schlüssel einrichten können. Damit autonome Datenbanken auf Exadata Cloud@Customer eine Verbindung zur OKV-REST-Schnittstelle herstellen können, erstellen Sie einen Keystore in Ihrem Mandanten zum Speichern der IP-Adresse und der Administratorzugangsdaten Ihres OKV. Exadata Cloud@Customer speichert das OKV-REST-Benutzeradministratorkennwort, das für die Verbindung zur OKV-Appliance erforderlich ist, vorübergehend in einer kennwortgeschützten Wallet-Datei, damit die in der Kunden-VM ausgeführte Software eine Verbindung zum OKV-Server herstellen kann. Nach der Migration der TDE-Schlüssel zu OKV entfernt die Cloud-Automatisierungssoftware das Kennwort aus der Wallet-Datei. Stellen Sie sicher, dass Sie im Vault-Service von Oracle ein Secret erstellen. Es dient zum Speichern des Kennworts, das für autonome Datenbanken zur Verbindung mit OKV für die Schlüsselverwaltung erforderlich ist.

Weitere Informationen finden Sie unter "Oracle Key Vault".

Erforderliche IAM-Policy zur Verwaltung von OKV auf Oracle Exadata Database Service on Cloud@Customer

Prüfen Sie die IAM-(Identity Access Management-)Policy zur Verwaltung von OKV auf Oracle Exadata Database Service on Cloud@Customer-Systemen.

Eine Policy ist ein IAM-Dokument, das angibt, wer welchen Zugriff auf Ihre Ressourcen hat. Der Begriff hat verschiedene Bedeutungen: Er bezeichnet eine einzelne in der Policy-Sprache geschriebene Anweisung, eine Sammlung von Anweisungen in einem benannten "Policy"-Dokument (dem eine Oracle Cloud-ID (OCID) zugewiesen ist) oder den gesamten Policy-Text, mit dem Ihre Organisation den Zugriff auf Ressourcen steuert.

Ein Compartment ist eine Sammlung aus zusammengehörigen Ressourcen, auf die nur bestimmte Gruppen zugreifen können, denen ein Administrator in Ihrer Organisation eine Berechtigung erteilt hat.

Damit Sie Oracle Cloud Infrastructure verwenden können, müssen Sie den erforderlichen Zugriffstyp in einer von einem Administrator geschriebenen Policy erhalten, unabhängig davon, ob Sie die Konsole, die REST-API mit einem Software Development Kit (SDK), eine Befehlszeilenschnittstelle (CLI) oder ein anderes Tool verwenden. Wenn Sie beim Versuch, eine Aktion auszuführen, 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 sollten.

Für Administratoren: Mit der Policy in "Verwalten von DB-Systemen 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". Wenn Sie mehr über das Verfassen von Policys für Datenbanken erfahren möchten, lesen Sie "Details zum Database-Service".

Ressourcen taggen

Sie können Ihre Ressourcen mit Tags versehen, um sie entsprechend Ihren Geschäftsanforderungen zu organisieren.

Sie können Tags beim Erstellen einer Ressource zuweisen oder die Ressource später mit den gewünschten Tags aktualisieren. Allgemeine Informationen zum Zuweisen von Tags finden Sie unter "Ressourcentags".

Ressourcen in ein anderes Compartment verschieben

Sie können OKV-Vault-, Secret- und Keystore-Ressourcen von einem Compartment in ein anderes verschieben.

Nachdem Sie eine OCI-Ressource in ein neues Compartment verschoben haben, werden sofort inhärente Policys angewendet, die sich auf den Zugriff auf die Ressource auswirken. Das Verschieben einer OKV-Vault-Ressource wirkt sich nicht auf den Zugriff auf OKV-Vault-Schlüssel oder OKV-Vault-Secrets aus, die der OKV-Vault enthält. Sie können einen OKV-Vault-Schlüssel oder OKV-Vault-Secrets unabhängig vom Verschieben des zugehörigen OKV-Vaults von einem Compartment in ein anderes verschieben. Weitere Informationen finden Sie unter Compartments verwalten.

Oracle Exadata Database Service on Cloud@Customer für die Arbeit mit Oracle Key Vault einrichten

Voraussetzungen
  1. OKV ist eingerichtet, und es besteht Netzwerkzugriff über das Exadata-Clientnetzwerk. Öffnen Sie die Ports 443, 5695 und 5696 für Egress im Clientnetzwerk, damit die OKV-Clientsoftware und die Oracle-Datenbankinstanz auf den OKV-Server zugreifen können.
  2. Die REST-Schnittstelle ist über die OKV-Benutzeroberfläche aktiviert.
  3. Erstellen Sie den Benutzer "OKV REST Administrator".

    Sie können einen beliebigen qualifizierten Benutzernamen Ihrer Wahl verwenden, z.B. "okv_rest_user". Verwenden Sie für ADB-C@C und ExaDB-C@C denselben oder andere REST-Benutzer. Diese Datenbanken können in demselben oder in verschiedenen On-Premise-OKV-Clustern als Schlüssel verwaltet werden. ExaDB-C@C erfordert einen REST-Benutzer mit der Berechtigung create endpoint. ADB-C@C benötigt einen REST-Benutzer mit den Berechtigungen create endpoint und create endpoint group.

  4. Zugangsdaten des OKV-Administrators und die IP-Adresse für die Verbindung mit OKV liegen vor.

Weitere Informationen finden Sie unter Netzwerkportanforderungen, Oracle Key Vault-Benutzer verwalten und Administrative Rollen und Benutzerberechtigungen verwalten.

Schritt 1: Vault in OKV-Vault-Service erstellen und Secret zum Speichern des OKV-REST-Administratorkennworts hinzufügen

Die Exadata Cloud@Customer-Infrastruktur kommuniziert mit OKV über REST, wenn eine Oracle Database durch Provisioning bereitgestellt wird, um die Oracle Database zu registrieren und ein Wallet auf OKV anzufordern. Daher benötigt die Exadata-Infrastruktur Zugriff auf die REST-Admin-Zugangsdaten, um sich beim OKV-Server zu registrieren.

Diese Zugangsdaten werden sicher im Oracle Vault-Service in OCI als Secret gespeichert und werden von der Exadata Cloud@Customer-Infrastruktur nur bei Bedarf abgerufen. Bei Bedarf werden die Zugangsdaten in einer kennwortgeschützten Wallet-Datei gespeichert.

Um das OKV-Administratorkennwort im OKV Vault-Service zu speichern, erstellen Sie einen Vault. Befolgen Sie dazu die Anweisungen unter Vaults verwalten. Erstellen Sie dann ein Secret in diesem Vault. Befolgen Sie dazu die Anweisungen unter Secrets verwalten.

Schritt 2: Dynamische Gruppe und Policy-Anweisung für den Zugriff auf das Secret in OKV Vault durch den Keystore erstellen

Um Keystore-Ressourcen die Berechtigung zum Zugriff auf das Secret in OKV Vault zu erteilen, erstellen Sie eine dynamische IAM-Gruppe, die diese Ressourcen identifiziert. Erstellen Sie dann eine IAM-Policy, die dieser dynamischen Gruppe Zugriff auf das in den OKV-Vaults und -Secrets erstellte Secret erteilt.

Beim Definieren der dynamischen Gruppe identifizieren Sie die Keystore-Ressourcen, indem Sie die OCID des Compartments angeben, das den Keystore enthält.

  1. Kopieren Sie die OCID des Compartments, das die Keystore-Ressource enthält.

    Sie finden diese OCID auf der Seite Compartment-Details des Compartments.

  2. Erstellen Sie eine dynamische Gruppe nach den Anweisungen unter "So erstellen Sie eine dynamische Gruppe" in der Oracle Cloud Infrastructure-Dokumentation. Geben Sie beim Ausführen der Anweisungen eine Übereinstimmungsregel in diesem Format ein:
    ALL {resource.compartment.id ='<compartment-ocid>'}

    Dabei ist <compartment-ocid> die OCID des Compartments, das die Keystore-Ressource enthält.

  3. Nachdem Sie die dynamische Gruppe erstellt haben, navigieren Sie zu einer (oder erstellen Sie eine) IAM-Policy in einem Compartment, das in der Compartment-Hierarchie dem Compartment, das Ihre Vaults und Secrets enthält, übergeordnet ist. Fügen Sie dann eine Policy-Anweisung in diesem Format hinzu:
    allow dynamic-group <dynamic-group> to use secret-family in compartment <vaults-and-secrets-compartment>

    Dabei ist <dynamic-group> der Name der von Ihnen erstellten dynamischen Gruppe, und <vaults-and-secrets-compartment> ist der Name des Compartments, in dem Sie Ihre Vaults und Secrets erstellt haben.

Schritt 3: Dynamische Gruppe und Policy-Anweisung für den Zugriff auf den Keystore durch Exadata-Infrastrukturressourcen erstellen

Um Ihren Exadata-Infrastrukturressourcen Zugriff auf den Keystore zu gewähren, erstellen Sie eine dynamische IAM-Gruppe, die diese Ressourcen identifiziert. Erstellen Sie dann eine IAM-Policy, die dieser dynamischen Gruppe Zugriff auf den von Ihnen erstellten Keystore erteilt.

Beim Definieren der dynamischen Gruppe identifizieren Sie die Exadata-Infrastrukturressourcen, indem Sie die OCID des Compartments angeben, das Ihre Exadata-Infrastruktur enthält.

  1. Kopieren Sie die OCID des Compartments, das Ihre Exadata-Infrastrukturressource enthält.
    Sie finden diese OCID auf der Seite "Compartment-Details" des Compartments.
  2. Erstellen Sie eine dynamische Gruppe nach den Anweisungen unter "So erstellen Sie eine dynamische Gruppe" in der Oracle Cloud Infrastructure-Dokumentation. Geben Sie beim Ausführen der Anweisungen eine Übereinstimmungsregel in diesem Format ein:
    ALL {resource.compartment.id ='<compartment-ocid>'}

    Dabei ist <compartment-ocid> die OCID des Compartments, das die Exadata-Infrastrukturressource enthält.

  3. Nachdem Sie die dynamische Gruppe erstellt haben, navigieren Sie zu einer (oder erstellen Sie eine) IAM-Policy in einem Compartment, das in der Compartment-Hierarchie dem Compartment, das Ihren Keystore enthält, übergeordnet ist. Fügen Sie dann eine Policy-Anweisung in diesem Format hinzu:
    Allow dynamic-group <dynamic-group> to use keystores in compartment <key-store-compartment>

    Dabei ist <dynamic-group> der Name der von Ihnen erstellten dynamischen Gruppe und <key-store-compartment> der Name des Compartments, in dem Sie den Keystore erstellt haben.

Schritt 4: Policy-Anweisung zur Verwendung des Secrets aus OKV Vault durch Datenbankservice erstellen

Um dem Exadata-Datenbankservice die Berechtigung zur Verwendung des Secrets in OKV Vault für die Anmeldung bei der OKV-REST-Schnittstelle zu erteilen, navigieren Sie zu einer (oder erstellen Sie eine) IAM-Policy in einem Compartment, das sich in der Compartment-Hierarchie über dem Compartment befindet, das Ihre OKV- Vaults und -Secrets enthält. Fügen Sie dann eine Policy-Anweisung in diesem Format hinzu:
allow service database to read secret-family in compartment <vaults-and-secrets-compartment>

Dabei ist <vaults-and-secrets-compartment> der Name des Compartments, in dem Sie Ihre OKV-Vaults und Secrets erstellt haben.

Nachdem der OKV- Vault und die IAM-Konfiguration eingerichtet wurden, können Sie den Oracle Key Vault-"Keystore" in OCI bereitstellen und mit Ihrem Exadata Cloud@Customer-VM-Cluster verknüpfen.

Schritt 5: Keystore erstellen

Führen Sie diese Schritte aus, um einen Keystore zur Verbindung mit einer On-Premise-Verschlüsselungsschlüssel-Appliance wie Oracle Key Vault (OKV) zu erstellen.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.

    Auf der Seite Schlüsselspeicher werden die Liste der Namen von Keystores, die Anzahl der mit jeder Datenbank verknüpften Datenbanken und das Datum angezeigt, an dem jeder Keystore erstellt wurde.

  4. Klicken Sie auf Keystore erstellen.
  5. Geben Sie im Dialogfeld Keystore erstellen die folgenden allgemeinen Informationen ein:
    • Namen für Keystore angeben: Eine benutzerfreundliche Beschreibung oder andere Informationen, anhand derer Sie die Keystore-Ressource leicht identifizieren können. Geben Sie dabei keine vertraulichen Informationen ein.
    • Oracle Key Vault-Verbindungseinstellungen
      • Verbindungs-IP-Adressen: Geben Sie mindestens eine OKV-Clusterknoten-IP-Adresse ein. Mehrere kommagetrennte IP-Adressen ( desselben OKV-Clusters) sind möglich. Beispiel: 193.10.20.1, 193.10.20.2.
      • Administratorbenutzername: Geben Sie den Benutzernamen für okv_rest_user ein.
      • Administratorkennwort-Secret: Das Administratorkennwort wird mit dem Secret-Managementservice in OCI gespeichert. Wählen Sie den OKV- Vault in Ihrem Mandanten aus, der das okv_rest_user-Kennwort enthält, das als Secret gespeichert ist.
    • Tags: Optional können Sie Tags anwenden. Wenn Sie über Berechtigungen zum Erstellen von Ressourcen verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, benötigen Sie die Berechtigung zum Verwenden des Tag-Namespace. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollten, überspringen Sie diese Option, oder fragen Sie Ihren Administrator. Sie können die Tags auch später noch zuweisen. Geben Sie dabei keine vertraulichen Informationen ein.
  6. Klicken Sie auf Erstellen.
  7. Stellen Sie sicher, dass Sie beim Provisioning von Autonomous Database die Benutzerzugangsdaten von "okv_rest_user" verwenden.

    Weitere Informationen finden Sie unter Vaults verwalten, Schlüssel verwalten und Secrets verwalten.

Keystore verwalten

Keystore-Details anzeigen

Führen Sie diese Schritte aus, um Keystore-Details anzuzeigen, die Oracle Key Vault-(OKV-)Verbindungsdetails und die Liste der verknüpften Datenbanken umfassen.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.

    Auf der Seite Keystores werden die Listennamen von Keystores, die Anzahl der mit jedem Keystore verknüpften Datenbanken und das Datum angezeigt, an dem jeder Keystore erstellt wurde.

  4. Klicken Sie auf den Namen des Keystores, oder klicken Sie auf das Symbol "Aktionen" (drei Punkte), und klicken Sie dann auf Details anzeigen.
  5. Klicken Sie auf den Link im Feld Administratorkennwort-Secret, um die Secret-Details anzuzeigen.

    Im Abschnitt Zugeordnete Datenbanken wird die Liste der CDBs angezeigt, die mit diesem Keystore verknüpft sind.

Keystore-Details bearbeiten

Sie können einen Keystore nur bearbeiten, wenn er mit keiner CDB verknüpft ist.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.
  4. Klicken Sie auf den Namen des Keystores, oder klicken Sie auf das Symbol "Aktionen" (drei Punkte), und klicken Sie dann auf Details anzeigen.
  5. Klicken Sie auf der Seite Keystore-Details auf Bearbeiten.
  6. Nehmen Sie auf der Seite Keystore bearbeiten die gewünschten Änderungen vor, und klicken Sie auf Änderungen speichern.

Keystore in ein anderes Compartment verschieben

Führen Sie diese Schritte aus, um einen Keystore auf einem Oracle Exadata Database Service on Cloud@Customer-System von einem Compartment in ein anderes zu verschieben.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.
  4. Klicken Sie auf den Namen des Keystore, klicken Sie auf Aktionen, und wählen Sie Ressource verschieben aus.

    (oder)

    Klicken Sie auf das Aktionssymbol (drei Punkte) für den Keystore, den Sie verschieben möchten, und klicken Sie dann auf Ressource verschieben.

  5. Wählen Sie auf der Seite Ressource zu einem anderen Compartment verschieben das neue Compartment aus.
  6. Klicken Sie auf Ressource verschieben.

Keystore löschen

Sie können einen Keystore nur löschen, wenn er mit keiner CDB verknüpft ist.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.
  4. Klicken Sie auf den Namen des Keystore, klicken Sie auf Aktionen, und wählen Sie Löschen aus.

    (oder)

    Klicken Sie neben dem zu löschenden Keystore auf das Aktionssymbol (drei Punkte), und klicken Sie dann auf Löschen.

  5. Klicken Sie im Dialogfeld Keystore löschen auf Löschen.

Details der mit einem Keystore verknüpften Containerdatenbank anzeigen

Führen Sie diese Schritte aus, um Details zur Containerdatenbank anzuzeigen, die mit einem Keystore verknüpft ist.

  1. Öffnen Sie das Navigationsmenü. Klicken Sie unter Oracle Database auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie Ihr Compartment aus.
  3. Klicken Sie auf Keystores.
  4. Klicken Sie auf der daraufhin angezeigten Seite Keystores auf den Namen des Keystore, oder klicken Sie auf das Symbol "Aktionen" (drei Punkte) und dann auf Details anzeigen.
  5. Klicken Sie auf Verknüpfte Datenbanken.
  6. Klicken Sie auf den Namen der verknüpften Datenbank, oder klicken Sie auf das Symbol "Aktionen" (drei Punkte) und dann auf Details anzeigen.

Keystore mit der API verwalten

Hier erfahren Sie, wie Sie den Keystore mit der API verwalten.

Informationen zum Verwenden der API und Signieren von Anforderungen finden Sie unter "REST-APIs" und "Sicherheitszugangsdaten". Informationen zu SDKs finden Sie unter "Software Development Kits und Befehlszeilenschnittstelle".

In der folgenden Tabelle sind die REST-API-Endpunkte für die Verwaltung des Keystores aufgeführt.

Vorgang REST-API-Endpunkt

OKV-Keystore erstellen

CreateKeyStore

OKV-Keystore anzeigen

GetKeyStore

OKV-Keystore aktualisieren

UpdateKeyStore

OKV-Keystore löschen

DeleteKeyStore

Keystore Compartment ändern

ChangeKeyStoreCompartment

Zwischen vom Kunden und von Oracle verwalteter Verschlüsselung wählen

CreateDatabase

Keystore (OKV oder von Oracle verwaltet) und OKV-Wallet-Namen abrufen

GetDatabase

Keystore-Typ ändern

changeKeyStoreType

OKV- und von Oracle verwalteten Schlüssel rotieren

RotateVaultKey

Transparent Data Encryption-(TDE-)Schlüssel verwalten

Verwenden Sie dieses Verfahren, um die Konfiguration der Verschlüsselungsverwaltung zu ändern oder den TDE-Schlüssel zu rotieren.

Nachdem Sie eine Datenbank in einem ExaDB-C@C-System bereitgestellt haben, können Sie die Verschlüsselungsschlüsselverwaltung in OKV ändern und den TDE-Schlüssel für diese Datenbank rotieren.

Hinweis

  • Oracle unterstützt die Verwaltung von Verschlüsselungsschlüsseln in Datenbanken nach und einschließlich Oracle Database 11g Release 2 (11.2.0.4).
  • Sie können die Verwaltung von Verschlüsselungsschlüsseln von Oracle-verwalteten Schlüsseln in vom Kunden verwaltete Schlüssel ändern. Sie können jedoch nicht von kundenverwalteten Schlüsseln zu von Oracle verwalteten Schlüsseln wechseln.
  • Wenn Sie auf OKV zu vom Kunden verwalteten Schlüsseln wechseln, wird in der Datenbank ein Abbruchvorgang des Herunterfahrens gefolgt von einem Neustart ausgeführt. Planen Sie die Migration zu vom Kunden verwalteten Schlüsseln auf OKV in einem geplanten Wartungsfenster.
  • Um sicherzustellen, dass Ihre Exadata-Datenbank die aktuelle Version des TDE-Schlüssels verwendet, rotieren Sie den Schlüssel auf der Seite mit den Datenbankdetails in der Oracle Cloud Infrastructure-Konsole. Verwenden Sie nicht den Vault-Service.
  • Sie können TDE-Schlüssel nur für Datenbanken rotieren, die mit vom Kunden verwalteten Schlüsseln konfiguriert sind.
  • Sie können einen Verschlüsselungsschlüssel nicht rotieren:
    • wenn eine Datenbankwiederherstellung in einem bestimmten Oracle Home ausgeführt wird.
    • wenn ein Datenbank-Patching oder Datenbank-Home-Patching ausgeführt wird.
  1. Öffnen Sie das Navigationsmenü. Klicken Sie auf Oracle Database und dann auf Exadata Database Service on Cloud@Customer.
  2. Wählen Sie das Compartment aus der Dropdown-Liste Compartment aus.
  3. Navigieren Sie zu dem VM-Cluster mit der Datenbank, für die Sie die Verschlüsselung ändern oder einen Schlüssel rotieren möchten.
    1. Klicken Sie unter "Exadata Database Service on Cloud@Customer-Infrastruktur" auf Exadata-VM-Cluster.
    2. Suchen Sie in der Liste mit VM-Clustern das VM-Cluster, auf das Sie zugreifen möchten. Klicken Sie auf den markierten Namen, um die Detailseite für das Cluster anzuzeigen.
  4. Klicken Sie im Abschnitt Datenbanken auf den Namen der Datenbank, für die Sie die Verschlüsselung ändern oder einen Schlüssel rotieren möchten, um die Detailseite anzuzeigen.
  5. Klicken Sie auf die Dropdown-Schaltfläche Weitere Aktionen.
  6. Klicken Sie auf Verschlüsselungsschlüssel verwalten.

    So ändern Sie den Schlüsselverwaltungstyp von "Von Oracle verwaltet" in "Vom Kunden verwaltet"

    1. Klicken Sie auf Schlüsselverwaltungstyp ändern.
    2. Wählen Sie die Option Mit benutzerdefinierten Schlüsseln verschlüsseln aus.

      Sie müssen einen gültigen Verschlüsselungsschlüssel im Oracle Key Vault-Service haben und die Informationen in den folgenden Schritten angeben. Weitere Informationen finden Sie unter Schlüssel- und Secret-Managementkonzepte.

    3. Wählen Sie einen Bereich aus.
    4. Compartment auswählen.
      Sie können das Compartment ändern, indem Sie auf den Link Compartment ändern klicken.
    5. Klicken Sie auf Änderungen speichern.

    So rotieren Sie einen Verschlüsselungsschlüssel in einer Datenbank mit vom Kunden verwalteten Schlüsseln

    Hinweis

    Sie können nur vom Kunden verwaltete Verschlüsselungsschlüssel rotieren.

    1. Klicken Sie auf Verschlüsselungsschlüssel rotieren, um ein Bestätigungsdialogfeld anzuzeigen.
    2. Klicken Sie auf Schlüssel rotieren.
Hinweis

  • Die Migration von TDE-Schlüsseln zu Oracle Key Vault (OKV) erfordert 10 Minuten Ausfallzeit. Während der Migration ist der Datenbankstatus UPDATING, und Verbindungen können aufgrund mehrerer Datenbankneustarts fehlschlagen, um OKV zu aktivieren. Anwendungen können den Vorgang wiederaufnehmen, nachdem die Migration abgeschlossen ist und wenn die Datenbank in den ursprünglichen Status ACTIVE zurückkehrt.
  • Das OKV-Keystore-Kennwort wird auf das TDE-Wallet-Kennwort gesetzt.

Achtung:

Nachdem Sie die Schlüsselverwaltung in vom Kunden verwaltete Schlüssel geändert haben, wird die Datenbank durch das Löschen des Schlüssels aus dem OKV nicht verfügbar.

Auf der Seite mit den Datenbankdetails für diese Datenbank werden im Abschnitt Verschlüsselung der Name und die Verschlüsselungsschlüssel-OCID angezeigt.

So klonen Sie eine integrierbare Datenbank (PDB) manuell aus einer Remotecontainerdatenbank (CDB), wenn Daten mit Masterverschlüsselungsschlüssel (MEK) in Oracle Key Vault (OKV) verschlüsselt werden

Mit dem dbaascli-Tool können Sie PDBs klonen, wenn die Quell-CDB und die Ziel-CDB identisch sind (lokaler Klon) oder wenn sie unterschiedlich sind (Remoteklon). Sie können eine Remote-PDB jedoch nicht klonen, wenn die Daten mit einem MEK in OKV verschlüsselt sind.

Hinweis

Um die Daten während eines Remoteklons zu entschlüsseln/verschlüsseln, muss die Containerdatenbank Zugriff auf MEK haben. Der MEK muss der Ziel-CDB zur Verfügung gestellt werden, wenn er im OKV-Server gespeichert ist.

Quell-CDB und Ziel-CDB sind mit MEK im selben OKV-Server verschlüsselt

  1. Ruft die OKV-Objekt-ID der Quell-PDB ab.
    1. Rufen Sie den neuesten Verschlüsselungsschlüssel der Quell-PDB mit SQL*Plus ab.
      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env    
      [oracle@testserver oracle]$ sqlplus / as sysdba
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 12 23:13:12 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
      
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> set heading off;
      SQL> alter session set container=<SOURCE_PDB>;
       
      Session altered.
       
      SQL> select key_id,keystore_type,activation_time from v$encryption_keys order by activation_time;
       
      0648E5D8D5559B4F0EBFB8AA5EE730401A
      SOFTWARE KEYSTORE
      25-MAR-23 12.01.41.075932 AM +00:00
       
      06AFF5B6E27A954F6EBFFC77296B27C9EC
      SOFTWARE KEYSTORE
      25-MAR-23 11.42.51.336955 AM +00:00
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver oracle]$
    2. Holen Sie sich die OKV-Objekt-ID (uuuid) des neuesten MEK aus dem obigen Schritt.

      Geben Sie das OKV-Endpunktpasswort ein, wenn Sie dazu aufgefordert werden, und drücken Sie die Eingabetaste auf Ihrer Tastatur.

      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env 
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil list | grep 06AFF5B6E27A954F6EBFFC77296B27C9EC
      E5344379-8B16-4FE9-BF35-F8ECB057571A    Symmetric Key    TDE Master Encryption Key: MKID 06AFF5B6E27A954F6EBFFC77296B27C9EC
      [oracle@testserver oracle]$
  2. Installieren Sie das OKV-REST-Wallet in der Quelldatenbank.
    1. Erstellen Sie das Verzeichnis okv_rest_cli, wenn es nicht vorhanden ist.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
    2. Laden Sie okvrestclipackage.zip herunter, und extrahieren Sie es.

      Wählen Sie ALL, wenn Sie zur Ersetzung aufgefordert werden.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<source_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Ändern Sie die Dateien okvrestcli.ini und okvrestcli_logging.properties wie folgt.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<source_okv_server_ip1>
      user=<source_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<source_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Erstellen Sie das Verzeichnis client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Erstellen Sie ein OKV-REST-Wallet mit der OKV-REST-Befehlszeilenschnittstelle.

      Geben Sie bei entsprechender Aufforderung das OKV-REST-Quellkennwort ein.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet --wallet-user <source_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  3. Erstellen Sie ein neues OKV-Wallet, um nur den PDB-MEK zu speichern, der in Schritt 1 abgerufen wurde.
    1. Rufen Sie den OKV-Wallet-Namen aus der Quell-PDB im Format EXA_DB_NAME_DBID_PDB_NAME_WL ab.

      Beispiel: Der Wallet-Name lautet EXA_NEWDB1_37508325141_PDB_NAME_WL.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
      
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Erstellen Sie ein neues Wallet mit der OKV-REST-Befehlszeilenschnittstelle.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet create --wallet <SOURCE_PDB_OKV_WALLET> --description "Wallet to clone <source_pdb_name> pdb from <source_db_name>" --unique FALSE
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING",
          "locatorID" : "BA5FBFE1-DB41-4425-8EE4-D58541A1E41A"
        }
      }
      [root@testserver oracle]#
    3. Überprüfen Sie den Status, bis er aktiv ist.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING"
        }
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "ACTIVE",
          "wallet" : "<SOURCE_PDB_OKV_WALLET>"
        }
      }
      [root@testserver oracle]#
  4. Fügen Sie die Berechtigungen Lesen und ändern und Wallet verwalten von den OKV-Endpunkten der Quelldatenbank zum in Schritt 3 erstellten OKV-Wallet hinzu.
    1. Rufen Sie die Endpunktnamen aus der Quelldatenbank ab. Eine pro VM.

      Normalerweise hat die Struktur das Format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Beispiel: Der Endpunktname von Knoten 1 lautet EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Fügen Sie die Berechtigungen Lesen und ändern und Wallet verwalten mit der OKV-REST-Befehlszeilenschnittstelle hinzu.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP1> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP2> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  5. Speichern Sie MEK aus der in Schritt 1 abgerufenen Quell-PDB in dem in Schritt 3 erstellten OKV-Wallet.
    1. Fügen Sie MEK (uuid aus Schritt 1.b) über die OKV REST-Befehlszeilenschnittstelle hinzu.

      Geben Sie bei entsprechender Aufforderung das Quell-OKV-Endpunktpasswort ein.

      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv managed-object wallet add-member --uuid E5344379-8B16-4FE9-BF35-F8ECB057571A --wallet <SOURCE_PDB_OKV_WALLET>
      Password: 
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  6. Installieren Sie das OKV-REST-Wallet in der Zieldatenbank.
    1. Erstellen Sie das Verzeichnis okv_rest_cli, wenn es nicht vorhanden ist.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
    2. Laden Sie okvrestclipackage.zip herunter, und extrahieren Sie es.

      Wählen Sie ALL, wenn Sie zur Ersetzung aufgefordert werden.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<target_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Ändern Sie die Dateien okvrestcli.ini und okvrestcli_logging.properties wie folgt.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<target_okv_server_ip1>
      user=<target_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<target_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Erstellen Sie das Verzeichnis client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Erstellen Sie ein OKV-REST-Wallet mit der OKV-REST-Befehlszeilenschnittstelle.

      Geben Sie bei entsprechender Aufforderung das OKV-REST-Zielkennwort ein.

      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet --wallet-user <target_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  7. Fügen Sie die Berechtigungen Schreibgeschützt und Wallet verwalten von den OKV-Endpunkten der Zieldatenbank zum OKV-Wallet der Quell-PDB hinzu, das in Schritt 3 erstellt wurde.
    1. Rufen Sie die Endpunktnamen aus der Zieldatenbank ab. Eine pro VM.

      Normalerweise hat die Struktur das Format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Beispiel: Der Endpunktname von Knoten 1 lautet EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<target_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Fügen Sie die Berechtigungen Schreibgeschützt und Wallet verwalten mit der OKV-REST-Befehlszeilenschnittstelle hinzu.
      [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <TARGET_OKV_EP1> --access RO_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <TARGET_OKV_EP2> --access RO_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  8. Klonen Sie die PDB.
    1. Führen Sie dbaascli aus, um die PDB zu klonen.

      Geben Sie bei entsprechender Aufforderung das SYS-Benutzerkennwort für die Quell-DB ein.

      [root@testserver oracle]# dbaascli pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString <source_db_connection_string> --targetPDBName <target_pdb_name>
      DBAAS CLI version 23.2.1.0.0
      Executing command pdb remoteClone --pdbName <source_pdb_name> --dbName <target_pdb_name> --sourceDBConnectionString scaqar06dvclu01-scan1.us.oracle.com:1521/<source_db_unique_name>.us.oracle.com --targetPDBName <target_pdb_name>
      Job id: 197f30e9-209e-4ec5-9700-a13f7915f8b9
      Session log: /var/opt/oracle/log/alyokv1/pdb/remoteClone/dbaastools_2023-06-12_10-32-17-PM_188384.log
      Enter REMOTE_DB_SYS_PASSWORD:
       
      Enter REMOTE_DB_SYS_PASSWORD (reconfirmation):
       
      Loading PILOT...
      Session ID of the current execution is: 6848
      Log file location: /var/opt/oracle/log/alyokv1/pdb/remoteClone/pilot_2023-06-12_10-32-35-PM_204184
      -----------------
      Running Plugin_initialization job
      Enter REMOTE_DB_SYS_PASSWORD
      ***************
      Completed Plugin_initialization job
      -----------------
      Running Validate_input_params job
      Completed Validate_input_params job
      -----------------
      Running Perform_dbca_prechecks job
      Completed Perform_dbca_prechecks job
      -----------------
      Running PDB_creation job
      Completed PDB_creation job
      -----------------
      Running Load_pdb_details job
      Completed Load_pdb_details job
      -----------------
      Running Configure_pdb_service job
      Completed Configure_pdb_service job
      -----------------
      Running Configure_tnsnames_ora job
      Completed Configure_tnsnames_ora job
      -----------------
      Running Set_pdb_admin_user_profile job
      Completed Set_pdb_admin_user_profile job
      -----------------
      Running Lock_pdb_admin_user job
      Completed Lock_pdb_admin_user job
      -----------------
      Running Register_ocids job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Prepare_blob_for_standby_in_primary job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Generate_dbsystem_details job
      Completed Generate_dbsystem_details job
      dbaascli execution completed
      [root@testserver oracle]#
  9. Löschen Sie das in Schritt 3 erstellte OKV-Wallet der Quell-PDB mit der OKV-REST-Befehlszeilenschnittstelle.
    [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet delete --wallet  <SOURCE_PDB_OKV_WALLET>
    {
      "result" : "Success"
    }
    [root@testserver oracle]#
  10. Löschen Sie das in Schritt 2 erstellte OKV-REST-Wallet.
    1. Löschen Sie die Wallet-Dateien im Verzeichnis dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#
  11. Löschen Sie das in Schritt 6 erstellte OKV-REST-Wallet.
    1. Löschen Sie die Wallet-Dateien im Verzeichnis dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#

Quell-CDB und Ziel-CDB sind mit MEK in einem anderen OKV-Server verschlüsselt

  1. Ruft die OKV-Objekt-ID der Quell-PDB ab.
    1. Rufen Sie den neuesten Verschlüsselungsschlüssel der Quell-PDB mit SQL*Plus ab.
      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env    
      [oracle@testserver oracle]$ sqlplus / as sysdba
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jun 12 23:13:12 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> set heading off;
      SQL> alter session set container=<SOURCE_PDB>;
       
      Session altered.
       
      SQL> select key_id,keystore_type,activation_time from v$encryption_keys order by activation_time;
       
      0648E5D8D5559B4F0EBFB8AA5EE730401A
      SOFTWARE KEYSTORE
      25-MAR-23 12.01.41.075932 AM +00:00
       
      06AFF5B6E27A954F6EBFFC77296B27C9EC
      SOFTWARE KEYSTORE
      25-MAR-23 11.42.51.336955 AM +00:00
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver oracle]$
    2. Holen Sie sich die OKV-Objekt-ID (uuuid) des neuesten MEK aus dem obigen Schritt.

      Geben Sie das OKV-Endpunktpasswort ein, wenn Sie dazu aufgefordert werden, und drücken Sie die Eingabetaste auf Ihrer Tastatur.

      [root@testserver oracle]# su oracle 
      [oracle@testserver oracle]$ source ~/<source_db_name>.env 
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil list | grep 06AFF5B6E27A954F6EBFFC77296B27C9EC
      E5344379-8B16-4FE9-BF35-F8ECB057571A    Symmetric Key    TDE Master Encryption Key: MKID 06AFF5B6E27A954F6EBFFC77296B27C9EC
      [oracle@testserver oracle]$
  2. Installieren Sie das OKV-REST-Wallet in der Quelldatenbank.
    1. Erstellen Sie das Verzeichnis okv_rest_cli, wenn es nicht vorhanden ist.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
    2. Laden Sie okvrestclipackage.zip herunter, und extrahieren Sie es.

      Wählen Sie ALL, wenn Sie zur Ersetzung aufgefordert werden.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli
      [oracle@scaqar06dv0101 okv_rest_cli]$ curl -O -k https://<source_okv_server_ip1>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Ändern Sie die Dateien okvrestcli.ini und okvrestcli_logging.properties wie folgt.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<source_okv_server_ip1>
      user=<source_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<source_db_name>/okv_home/conf/okvclient.ora
       
      
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Erstellen Sie das Verzeichnis client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Erstellen Sie ein OKV-REST-Wallet mit der OKV-REST-Befehlszeilenschnittstelle.

      Geben Sie bei entsprechender Aufforderung das OKV-REST-Quellkennwort ein.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet --wallet-user <source_okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  3. Erstellen Sie ein neues OKV-Wallet, um nur den PDB-MEK zu speichern, der in Schritt 1 abgerufen wurde.
    1. Erstellen Sie ein neues Wallet mit der OKV-REST-Befehlszeilenschnittstelle. Name vorgeschlagen: EXA_DB_NAME_DBID_PDB_NAME_WL
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet create --wallet <SOURCE_PDB_OKV_WALLET> --description "Wallet to clone <source_pdb_name> pdb from <source_db_name>" --unique FALSE
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING",
          "locatorID" : "BA5FBFE1-DB41-4425-8EE4-D58541A1E41A"
        }
      }
      [root@testserver oracle]#
    2. Überprüfen Sie den Status, bis er aktiv ist.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "PENDING"
        }
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet check-status --wallet <SOURCE_PDB_OKV_WALLET>
      {
        "result" : "Success",
        "value" : {
          "status" : "ACTIVE",
          "wallet" : "<SOURCE_PDB_OKV_WALLET>"
        }
      }
      [root@testserver oracle]#
  4. Fügen Sie die Berechtigungen Lesen und ändern und Wallet verwalten von den OKV-Endpunkten der Quelldatenbank zum in Schritt 3 erstellten OKV-Wallet hinzu.
    1. Rufen Sie die Endpunktnamen aus der Quelldatenbank ab. Eine pro VM.

      Normalerweise hat die Struktur das Format EXA_DB_UNIQUE_NAME_DBID_SID_EP.

      Beispiel: Der Endpunktname von Knoten 1 lautet EXA_NEWDB1_UNIQ_3750832514_NEWDB11_EP.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<source_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    2. Fügen Sie die Berechtigungen Lesen und ändern und Wallet verwalten mit der OKV-REST-Befehlszeilenschnittstelle hinzu.
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP1> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet add-access --wallet <SOURCE_PDB_OKV_WALLET> --endpoint <SOURCE_OKV_EP2> --access RM_MW
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  5. Speichern Sie MEK aus der in Schritt 1 abgerufenen Quell-PDB in dem in Schritt 3 erstellten OKV-Wallet.
    1. Fügen Sie MEK (uuid aus Schritt 1.b) über die OKV REST-Befehlszeilenschnittstelle hinzu.

      Geben Sie bei entsprechender Aufforderung das Quell-OKV-Endpunktpasswort ein.

      [root@testserver oracle]# export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv managed-object wallet add-member --uuid E5344379-8B16-4FE9-BF35-F8ECB057571A --wallet <SOURCE_PDB_OKV_WALLET>
      Password: 
      {
        "result" : "Success"
      }
      [root@testserver oracle]#
  6. Laden Sie das in Schritt 3 erstellte OKV-Wallet vom OKV-Server in das lokale Dateisystem herunter.
    1. Erstellen Sie ein neues Verzeichnis mit Berechtigungen für den Benutzer oracle.

      In diesem Verzeichnis wird das Wallet gespeichert, das nur den MEK der Quell-PDB enthält.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ mkdir /home/oracle/<source_pdb_wallet_dir>
      [oracle@testserver oracle]$
    2. Laden Sie das in Schritt 3 erstellte OKV-Wallet mit okvutil in das in Schritt 6.a erstellte Verzeichnis herunter.

      Es wird zweimal zur Eingabe eines Kennworts aufgefordert, um das lokale Wallet zu verschlüsseln. Verwenden Sie dasselbe Kennwort wie das Quellendpunktkennwort. Geben Sie bei entsprechender Aufforderung auch das Quellendpunktpasswort ein.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ source ~/nfsa.env
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil download -l /home/oracle/<source_pdb_wallet_dir> -t wallet -g <SOURCE_PDB_OKV_WALLET>
      Enter new wallet password (<enter> for auto-login): 
      Confirm new wallet password: 
      Enter Oracle Key Vault endpoint password: 
      Download succeeded
      [oracle@testserver oracle]$
    3. Zipieren Sie das Wallet-Verzeichnis.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /home/oracle
      [oracle@testserver oracle]$ zip -r <source_pdb_wallet_dir>.zip <source_pdb_wallet_dir>  
        adding: <source_pdb_wallet_dir>/ (stored 0%)
        adding: <source_pdb_wallet_dir>/ewallet.p12 (stored 0%)
      [oracle@testserver oracle]$
  7. Löschen Sie das in Schritt 3 erstellte OKV-Wallet der Quell-PDB.
    [root@testserver oracle]#  export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/bin/okv manage-access wallet delete --wallet  <SOURCE_PDB_OKV_WALLET>
    {
      "result" : "Success"
    }
    [root@testserver oracle]#
  8. Löschen Sie das in Schritt 1 erstellte OKV-REST-Wallet.
    1. Löschen Sie die Wallet-Dateien im Verzeichnis dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<source_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#
  9. Kopieren Sie das in Schritt 6 in das Focal-Dateisystem heruntergeladene Quell-PDB-Wallet in die Ziel-Cluster-VM.
  10. Löschen Sie das Quell-PDB-Wallet aus dem in Schritt 6 erstellten lokalen Quelldateisystem.
    1. Löschen Sie das Wallet-Verzeichnis.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ rm -rf /home/oracle/<source_pdb_wallet_dir>
      [oracle@testserver oracle]$
    2. Löschen Sie die ZIP-Datei des Wallets.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ rm -f /home/oracle/<source_pdb_wallet_dir>.zip
      [oracle@testserver oracle]$
  11. Installieren Sie das OKV-REST-Wallet in der Zieldatenbank.
    1. Erstellen Sie das Verzeichnis okv_rest_cli, wenn es nicht vorhanden ist.
      [root@testserver newdb1]# su oracle
      [oracle@testserver oracle]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
    2. Laden Sie okvrestclipackage.zip herunter, und extrahieren Sie es.

      Wählen Sie ALL, wenn Sie zur Ersetzung aufgefordert werden.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli
      [oracle@testserver okv_rest_cli]$ curl -O -k https://<target_okv_server_ip>:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3784k  100 3784k    0     0  19.0M      0 --:--:-- --:--:-- --:--:-- 19.1M
      [oracle@testserver okv_rest_cli]$ unzip -q okvrestclipackage.zip
      [oracle@testserver okv_rest_cli]$
    3. Ändern Sie die Dateien okvrestcli.ini und okvrestcli_logging.properties wie folgt.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini
      [Default]
      server=<target_okv_server_ip1>
      user=<target_okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      log_property=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      okv_client_config=/u02/app/oracle/admin/<target_db_name>/okv_home/conf/okvclient.ora
       
      [oracle@testserver okv_rest_cli]$ vi /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties
      [oracle@testserver okv_rest_cli]$ cat /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli_logging.properties  
      handlers=java.util.logging.FileHandler
      java.util.logging.FileHandler.pattern=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/logs/okvrest.log
      java.util.logging.FileHandler.limit=200000
      java.util.logging.FileHandler.count=1
      java.util.logging.FileHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      java.util.logging.ConsoleHandler.level=FINER
      java.util.logging.ConsoleHandler.formatter=com.oracle.okv.rest.log.OkvFormatter
      [oracle@testserver okv_rest_cli]$
    4. Erstellen Sie das Verzeichnis client_wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ mkdir /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet
      [oracle@testserver okv_rest_cli]$
    5. Erstellen Sie ein OKV-REST-Wallet mit der OKV-REST-Befehlszeilenschnittstelle.

      Geben Sie bei entsprechender Aufforderung das OKV-REST-Zielkennwort ein.

      [root@testserver oracle]# su oracle
      [oracle@testserver okv_rest_cli]$ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet --wallet-user <target_okv_rest_user>
      /var/opt/oracle/dbaas_acfs/newdb1/okv_rest_cli/logs/okvrest.log.lck
      Password:
      {
        "result" : "Success"
      }
      [oracle@testserver okv_rest_cli]$ ls -ltr /var/opt/oracle/dbaas_acfs/newdb1/okv_rest_cli/client_wallet
      total 8
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 ewallet.p12.lck
      -rw------- 1 oracle oinstall    0 Jun 16 01:29 cwallet.sso.lck
      -rw------- 1 oracle oinstall  976 Jun 16 01:29 ewallet.p12
      -rw------- 1 oracle oinstall 1021 Jun 16 01:29 cwallet.sso
      [oracle@testserver okv_rest_cli]$
  12. Laden Sie das in Schritt 6 erstellte Quell-PDB-Wallet hoch, das in Schritt 9 in die Ziel-Cluster-VM kopiert wurde.
    1. Dekomprimieren Sie das Quell-PDB-Wallet.
      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ cd /home/oracle/
      [oracle@testserver ~]$ unzip <source_pdb_wallet_dir>.zip 
      Archive:  nfsa_1672104454_NFSPDB_wallet.zip
         creating: <source_pdb_wallet_dir>/
       extracting: <source_pdb_wallet_dir>/ewallet.p12  
      [oracle@testserver ~]$
    2. Rufen Sie den OKV-Wallet-Namen aus der Zieldatenbank im Format EXA_DB_NAME_DBID_WL ab.

      Beispiel: Der Wallet-Name lautet EXA_NEWDB1_37508325141_WL.

      [root@testserver newdb1]# su oracle
      [oracle@testserver newdb1]$ source ~/<target_db_name>.env
      [oracle@testserver newdb1]$ sqlplus / as sysdba 
       
      SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jun 20 21:26:54 2023
      Version 19.19.0.0.0
       
      Copyright (c) 1982, 2022, Oracle.  All rights reserved.
       
      Connected to:
      Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
       
      SQL> select name,db_unique_name,dbid from v$database; 
       
      NAME      DB_UNIQUE_NAME               DBID
      --------- ------------------------------ ----------
      NEWDB1      newdb1_uniq             3750832514
       
      SQL> select value from v$parameter where name='instance_name';
       
      VALUE
      --------------------------------------------------------------------------------
      newdb11
       
      SQL> exit
      Disconnected from Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
      Version 19.19.0.0.0
      [oracle@testserver newdb1]$
    3. Laden Sie das Quell-PDB-Wallet mit okvutil in das Ziel-OKV-Wallet hoch.

      Geben Sie das Quell-PDB-Wallet-Kennwort ein, wenn Sie dazu aufgefordert werden. Verwenden Sie dasselbe Kennwort wie das Quellendpunktkennwort.

      Geben Sie außerdem das Zielendpunktkennwort ein, wenn Sie dazu aufgefordert werden.

      [root@testserver oracle]# su oracle
      [oracle@testserver oracle]$ source ~/<target_db_name>.env
      [oracle@testserver oracle]$ $OKV_HOME/bin/okvutil upload -t WALLET -l /home/oracle/<source_pdb_wallet_dir> -g <TARGET_OKV_WALLET>
      Enter source wallet password: 
      Enter Oracle Key Vault endpoint password: 
      WARNING: Object ORACLE.SECURITY.ID.ENCRYPTION. already exists; use -o to overwrite
      Upload succeeded
      [oracle@testserver oracle]$
  13. Klonen Sie die PDB.
    1. Führen Sie dbaascli aus, um die PDB zu klonen.
      [root@testserver oracle]# dbaascli pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString <source_db_connection_string> --targetPDBName <target_pdb_name> 
      DBAAS CLI version 23.2.1.0.0
      Executing command pdb remoteClone --pdbName <source_pdb_name> --dbName <target_db_name> --sourceDBConnectionString scaqar06dvclu01-scan1.us.oracle.com:1521/<source_db_unique_name>.us.oracle.com --targetPDBName <target_pdb_name>
      Job id: 7d4f638a-1f3a-4219-a05a-0215588dcae8
      Session log: /var/opt/oracle/log/alyokv1/pdb/remoteClone/dbaastools_2023-06-13_01-29-09-AM_179996.log
      Enter REMOTE_DB_SYS_PASSWORD:
       
      Enter REMOTE_DB_SYS_PASSWORD (reconfirmation):
       
      Loading PILOT...
      Session ID of the current execution is: 6857
      Log file location: /var/opt/oracle/log/alyokv1/pdb/remoteClone/pilot_2023-06-13_01-29-21-AM_196991
      -----------------
      Running Plugin_initialization job
      Enter REMOTE_DB_SYS_PASSWORD
      *************
      Completed Plugin_initialization job
      -----------------
      Running Validate_input_params job
      Completed Validate_input_params job
      -----------------
      Running Perform_dbca_prechecks job
      Completed Perform_dbca_prechecks job
      -----------------
      Running PDB_creation job
      Completed PDB_creation job
      -----------------
      Running Load_pdb_details job
      Completed Load_pdb_details job
      -----------------
      Running Configure_pdb_service job
      Completed Configure_pdb_service job
      -----------------
      Running Configure_tnsnames_ora job
      Completed Configure_tnsnames_ora job
      -----------------
      Running Set_pdb_admin_user_profile job
      Completed Set_pdb_admin_user_profile job
      -----------------
      Running Lock_pdb_admin_user job
      Completed Lock_pdb_admin_user job
      -----------------
      Running Register_ocids job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Prepare_blob_for_standby_in_primary job
      Skipping. Job is detected as not applicable.
      -----------------
      Running Generate_dbsystem_details job
      Completed Generate_dbsystem_details job
      dbaascli execution completed
      [root@testserver oracle]#
  14. Löschen Sie das in Schritt 1 erstellte OKV-REST-Wallet.
    1. Löschen Sie die Wallet-Dateien im Verzeichnis dbaas_acfs.
      [root@testserver oracle]# rm -f /var/opt/oracle/dbaas_acfs/<target_db_name>/okv_rest_cli/client_wallet/*
      [root@testserver oracle]#

So upgraden Sie das Oracle Key Vault-(OKV-)Home in ExaDB-C@C

Nachdem der Verschlüsselungstyp von von Oracle verwalteten Schlüsseln zu vom Kunden verwalteten Schlüsseln (Oracle Key Vault) migriert wurde, bleibt das OKV-Home in der DomUs mit derselben Version wie für die Migration verwendet.

Wenn der OKV-Server aktualisiert wird, funktioniert die Funktionalität aufgrund der Abwärtskompatibilität weiter. Der Kunde möchte jedoch möglicherweise die neuen Funktionen für die Clienttools erhalten. Aktualisieren Sie in diesem Fall das OKV-Home und die PKCS#11-Bibliothek.

  1. Überprüfen Sie, ob die aktuelle OKV-Home-Version kleiner als die OKV-Serverversion ist.
    1. Rufen Sie die OKV-Home-Version ab, indem Sie okvutil ausführen. In diesem Fall ist der Wert 21.6.0.0.0.
      # su oracle
      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil
      okvutil version 21.6.0.0.0
      Usage: okvutil <command> [-v <verbosity>] [<command args>]
        <command> := list | upload | download | sign | sign-verify | changepwd | diagnostics
      Options:
        -v, --verbose <verbosity>
          Print extra information to standard out.
          Possible verbosity values are 0, 1 and 2 (more detailed information with higher verbosity level).
      For help on a particular command, use [okvutil <command> -h].
      You have new mail in /var/spool/mail/root
    2. Rufen Sie die OKV Server-Version ab, indem Sie sich über den Browser bei der OKV Server-Konsole anmelden. In diesem Fall ist die Version 21.7.0.0.0.
  2. Installieren Sie das OKV-REST-Wallet in der Quelldatenbank. Dieser Schritt muss nur auf einem Knoten ausgeführt werden.
    1. Falls nicht vorhanden, erstellen Sie das Verzeichnis okv_rest_cli.
      # su oracle
      $ mkdir /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli
    2. Laden Sie okvrestclipackage.zip herunter, und extrahieren Sie es. Wenn Sie zur Ersetzung aufgefordert werden, wählen Sie ALL aus.
      $ cd /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli
      $ curl -O -k https://100.75.59.249:5695/okvrestclipackage.zip
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 3865k  100 3865k    0     0  5102k      0 --:--:-- --:--:-- --:--:-- 5106k
      $ unzip -q okvrestclipackage.zip
    3. Ändern Sie okvrestcli.ini mit den nächsten Informationen.
      $ vi /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini
       
      $ cat !$
      cat /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini
      #Provide absolute path for log_property, okv_client_config properties
      [Default]
      #log_property=./conf/okvrestcli_logging.properties
      #server=[OKV IP Address]
      #okv_client_config=./conf/okvclient.ora
      #user=[OKV username]
      #password=[user password]
        
      #[Profile1]
      #server=
      #okv_client_config=
      #user=
        
      #[Profile2]
      #server=
      #okv_client_config=
      #user=
        
      server=<okv_server_ip>
      user=<okv_rest_user>
      client_wallet=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet
    4. Erstellen Sie das Verzeichnis client_wallet.
      $ mkdir /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet
    5. Erstellen Sie ein OKV-REST-Wallet mit der OKV-REST-CLI. Es wird zur Eingabe des Quell-OKV-REST-Kennworts aufgefordert.
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin client-wallet add --client-wallet /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/client_wallet --wallet-user <okv_rest_user>
      Password:
      {
        "result" : "Success"
      }
  3. Bereiten Sie die OKV-Home-Verzeichnisse in DomU 1 vor.
    1. Benennen Sie das OKV-Home-Verzeichnis in die aktuelle OKV-Home-Version um.
      $ mv /u02/app/oracle/admin/<dbname>/okv_home/okv /u02/app/oracle/admin/<dbname>/okv_home/okv<current_okv_home_version>
    2. Erstellen Sie ein neues OKV-Home-Verzeichnis als OKV-Serverversion.
      $ mkdir /u02/app/oracle/admin/<dbname>/okv_home/okv<okv_server_version>
    3. Erstellen Sie einen symbolischen Link des regulären OKV-Home-Namens mit dem in Schritt 3.b erstellten Verzeichnis.
      $ ln -s /u02/app/oracle/admin/<dbname>/okv_home/okv<okv_server_version> /u02/app/oracle/admin/<dbname>/okv_home/okv
  4. Aktualisieren Sie das OKV-Home in DomU 1.
    1. Rufen Sie den OKV-Endpunktnamen über okvutil ab. Es wird nach OKV-Endpunktkennwort (TDE-Kennwort) gefragt. Der Eintrag wird als "Vorlage" bezeichnet.

      Beachten Sie, dass der Hostname mit dem aktuellen DomU-Hostnamen identisch sein muss. (Normalerweise lautet der Name EXA_<DBNAME>_<resourceID>_<CURRENT_DOMU_HOST_NAME>_EP. <resourceID> kann durch Auflisten der DB über das dbaascli-System getDatabases aufgerufen werden.)

      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil list
      Enter Oracle Key Vault endpoint password:
      Unique ID                               Type            Identifier
      DC690343-5694-4FC8-BFE4-6C7F1A550F67    Opaque Object   TDE Wallet Metadata
      9E317DDB-0542-553B-A47D-FCC31AB6DD7C    Symmetric Key   TDE Master Encryption Key: MKID AaTAGyAWyk/fv7pnl8qx4s0AAAAAAAAAAA
      D9D840AF-A60E-5850-AA86-8C9F216F5501    Symmetric Key   TDE Master Encryption Key: MKID AUP0Tq+un08Mv1+onNhT4RUAAAAAAAAAAA
      364EFC2F-1909-4F34-BF1B-90D3D03DA7EB    Private Key Private Key
      A9D0134F-C895-4F33-BF85-351B754E9FF9    Opaque Object   TDE Wallet Metadata
      E1AC8D2F-90E9-4F88-BFEE-2883FCBB7271    Opaque Object   TDE Wallet Metadata
      25B7DE14-3849-4F67-BFBE-1934BFE3559B    Opaque Object   TDE Wallet Metadata
      4ED713ED-FE2B-4F35-BF7D-BCBEA8327A0B    Symmetric Key   TDE Master Encryption Key: MKID 06EA813441C26B4F53BFD58E55C4BE90F4
      6162E200-EF0A-4F89-BF25-A8596B3AD7B0    Opaque Object   Certificate Request
      85A55486-28E5-4FFB-BF1C-B93C4C0BAD74    Secret Data Oracle Secret Data: ID HSM_PASSWORD
      67E74D97-56F6-407A-A035-009D953F907A    Template    Default template for EXA_DB1902_7274B2A2-6F71-4516-B2BB-6D67CC3824FC_SCAQAE08DV0308_EP
      E621EA72-5DD1-4F4F-BFD4-451E5B7DB8A9    Symmetric Key   TDE Master Encryption Key: MKID 0625BA455B03CD4F57BFA5D2290FD379A1
    2. Registrieren Sie den Endpunkt erneut in DomU 1.
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin endpoint re-enroll --endpoint <endpoint_name>
      {
        "result" : "Success"
      }
    3. Provisioning-Endpunkt in DomU 1. Es wird zur Eingabe des Kennworts für den OKV-Endpunkt (TDE-Kennwort) aufgefordert.
      $ export JAVA_HOME=/usr/java/latest; export OKV_RESTCLI_CONFIG=/var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/conf/okvrestcli.ini; /var/opt/oracle/dbaas_acfs/<dbname>/okv_rest_cli/bin/okv admin endpoint provision --endpoint <endpoint_name> --location /u02/app/oracle/admin/<dbname>/okv_home/okv --auto-login FALSE
      Enter Oracle Key Vault endpoint password:
      {
        "result" : "Success"
      }
  5. Überprüfen Sie, ob das OKV-Home-Upgrade erfolgreich ausgeführt wurde.
    1. Validieren Sie den OKV-Endpunkt, in dem die Einträge in OKV Wallet aufgelistet sind. Es wird zur Eingabe des Kennworts für den OKV-Endpunkt (TDE-Kennwort) aufgefordert.
      $ /u02/app/oracle/admin/db1902/okv_home/okv/bin/okvutil list
      Enter Oracle Key Vault endpoint password:
      Unique ID                               Type            Identifier
      DC690343-5694-4FC8-BFE4-6C7F1A550F67    Opaque Object   TDE Wallet Metadata
      9E317DDB-0542-553B-A47D-FCC31AB6DD7C    Symmetric Key   TDE Master Encryption Key: MKID AaTAGyAWyk/fv7pnl8qx4s0AAAAAAAAAAA
      D9D840AF-A60E-5850-AA86-8C9F216F5501    Symmetric Key   TDE Master Encryption Key: MKID AUP0Tq+un08Mv1+onNhT4RUAAAAAAAAAAA
      364EFC2F-1909-4F34-BF1B-90D3D03DA7EB    Private Key Private Key
      A9D0134F-C895-4F33-BF85-351B754E9FF9    Opaque Object   TDE Wallet Metadata
      E1AC8D2F-90E9-4F88-BFEE-2883FCBB7271    Opaque Object   TDE Wallet Metadata
      25B7DE14-3849-4F67-BFBE-1934BFE3559B    Opaque Object   TDE Wallet Metadata
      4ED713ED-FE2B-4F35-BF7D-BCBEA8327A0B    Symmetric Key   TDE Master Encryption Key: MKID 06EA813441C26B4F53BFD58E55C4BE90F4
      6162E200-EF0A-4F89-BF25-A8596B3AD7B0    Opaque Object   Certificate Request
      85A55486-28E5-4FFB-BF1C-B93C4C0BAD74    Secret Data Oracle Secret Data: ID HSM_PASSWORD
      67E74D97-56F6-407A-A035-009D953F907A    Template    Default template for EXA_DB1902_7274B2A2-6F71-4516-B2BB-6D67CC3824FC_SCAQAE08DV0308_EP
      E621EA72-5DD1-4F4F-BFD4-451E5B7DB8A9    Symmetric Key   TDE Master Encryption Key: MKID 0625BA455B03CD4F57BFA5D2290FD379A1
      You have new mail in /var/spool/mail/root
    2. Rufen Sie die OKV-Home-Version ab, indem Sie okvutil ausführen. Die Version muss mit der Version des OKV-Servers identisch sein. In diesem Fall muss der Wert 21.7.0.0.0 sein.
      # su oracle
       
      $ /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/okvutil
      okvutil version 21.7.0.0.0
      Usage: okvutil <command> [-v <verbosity>] [<command args>]
        <command> := list | upload | download | sign | sign-verify | changepwd | diagnostics
      Options:
        -v, --verbose <verbosity>
          Print extra information to standard out.
          Possible verbosity values are 0, 1 and 2 (more detailed information with higher verbosity level).
      For help on a particular command, use [okvutil <command> -h].
      You have new mail in /var/spool/mail/root
  6. Wiederholen Sie die Schritte 3 bis 5 im restlichen DomUs.
  7. Wiederholen Sie die Schritte 1 bis 6 für jede andere DB, die ihr OKV-Home upgraden muss.
  8. Stoppen Sie die DomU 1-Instanzen aller Datenbanken mit OKV-basiertem TDE. Dies kann über die Konsole, den Befehl srvctl oder SQL* Plus erfolgen.
  9. Führen Sie root.sh im ausgewählten OKV-Home aus. Es sollte in der Regel diejenige mit der neueren OKV-Version sein. Er fordert zur Ersetzung der PKCS11-Bibliothek auf. YES muss ausgewählt werden.
    # /u02/app/oracle/admin/<dbname>/okv_home/okv/bin/root.sh
  10. Starten Sie die DomU 1-Instanzen aller Datenbanken mit OKV-basiertem TDE. Dies kann über die Konsole, den Befehl srvctl oder SQL* Plus erfolgen.
  11. Wiederholen Sie die Schritte 8 bis 10 im restlichen DomUs.