SODA-Collection-Daten mit Oracle Data Pump Version 19.6 oder höher importieren

Zeigt die Schritte zum Importieren von SODA-Collections in Autonomous Database mit Oracle Data Pump an.

Sie können SODA-Collections mit Oracle Data Pump-Utilitys ab Version 19.6 exportieren und importieren. Oracle empfiehlt, die neueste Oracle Data Pump-Version für das Importieren von Daten aus Data Pump-Dateien in die Datenbank zu verwenden.

Laden Sie die neueste Version von Oracle Instant Client, das Oracle Data Pump enthält, für Ihre Plattform von Oracle Instant Client-Downloads herunter. Die Installationsschritte, die nach dem Herunterladen von Oracle Instant Client erforderlich sind, finden Sie in den Installationsanweisungen auf der Downloadseite für die Plattforminstallation.

Wenn die Quelldateien in der Oracle Cloud Infrastructure Object Storage gespeichert ist, können Sie in der Oracle Data Pump native Oracle Cloud Infrastructure-URIs, Swift-URIs oder vorab authentifizierte URIs verwenden. Einzelheiten zu diesen Datei-URI-Formaten finden Sie unter DBMS_CLOUD Package File URI Formats.

Wenn Sie eine im Voraus authentifizierte Oracle Cloud Infrastructure-URI verwenden, müssen Sie weiterhin einen Parameter credential angeben. Zugangsdaten für eine vorab authentifizierte URL werden jedoch ignoriert (und die angegebenen Zugangsdaten müssen nicht gültig sein). See DBMS_CLOUD Package File URI Formats for information on Oracle Cloud Infrastructure pre-authenticated URIs.

In diesem Beispiel wird gezeigt, wie Sie die SODA-Collection-Metadaten erstellen und eine SODA-Collection mit Data Pump importieren.

  1. Exportieren Sie in der Quelldatenbank die SODA-Collection mit dem Oracle Data Pump-Befehl expdp.
  2. Laden Sie das Dumpdateiset aus Schritt 1 in Cloud Object Storage hoch.
  3. Erstellen Sie eine SODA-Collection mit den erforderlichen SODA-Collection-Metadaten in Ihrer Autonomous Database.

    Beispiel: Wenn Sie eine Collection mit dem Namen MyCollectionName aus der Quelldatenbank mit den folgenden Metadaten exportieren:

    • Die Inhaltsspalte ist vom Typ BLOB.

    • Die Versionsspalte verwendet die Methode SHA256.

    Erstellen Sie dann in der Autonomous Database, in die Sie die Collection importieren, eine neue Collection:

    • Standardmäßig ist in Autonomous Database für eine neue Collection die Inhaltsspalte auf BLOB gesetzt, wobei jsonFormat als OSON angegeben ist.

    • Standardmäßig ist in Autonomous Database für eine neue Collection versionColumn.method auf UUID gesetzt.

    Weitere Informationen finden Sie unter Standardmäßige SODA-Collection-Metadaten in Autonomous Database.

    Beispiel:

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    Mit der PL/SQL-Funktion DBMS_SODA.LIST_COLLECTION_NAMES können Sie vorhandene Collections ermitteln. Weitere Informationen finden Sie unter Funktion LIST_COLLECTION_NAMES.

    Sie können die Metadaten für die SODA-Collections anzeigen, indem Sie die View USER_SODA_COLLECTIONS abfragen. Weitere Informationen finden Sie unter USER_SODA_COLLECTIONS.

  4. Speichern Sie Ihre Zugangsdaten für die Cloud-Objektspeicher mit DBMS_CLOUD.CREATE_CREDENTIAL.

    Beispiel: So erstellen Sie Zugangsdaten für das Oracle Cloud Infrastructure-Authentifizierungstoken:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    Weitere Informationen zur Authentifizierung des Oracle Cloud Infrastructure-Authentifizierungstokens finden Sie unter Prozedur CREATE_CREDENTIAL.

    Beispiel: So erstellen Sie Oracle Cloud Infrastructure-Signaturschlüssel-basierte Zugangsdaten:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Weitere Informationen zu auf dem Oracle Cloud Infrastructure-Signaturschlüssel basierenden Zugangsdaten finden Sie unter Prozedur CREATE_CREDENTIAL.

    Unterstützte Zugangsdatentypen:

    • Data Pump Import unterstützt auf Oracle Cloud Infrastructure-Authentifizierungstoken basierende Zugangsdaten und auf Oracle Cloud Infrastructure-Signaturschlüsseln basierende Zugangsdaten.

      Weitere Informationen zu auf dem Oracle Cloud Infrastructure-Signaturschlüssel basierenden Zugangsdaten finden Sie unter Prozedur CREATE_CREDENTIAL.

    • Data Pump unterstützt die Verwendung einer vorab authentifizierten Oracle Cloud Infrastructure Object Storage-URL für den Parameter dumpfile. Wenn Sie eine vorab authentifizierte URL verwenden, ist die Angabe des Parameters credential erforderlich, und der Wert für credential kann NULL lauten. Weitere Informationen finden Sie unter Vorab authentifizierte Anforderungen verwenden.
  5. Führen Sie Data Pump Import aus, wobei der Parameter dumpfile auf die Liste der Datei-URLs in Ihrem Cloud-Objektspeicher gesetzt ist und der Parameter credential auf den Namen der Zugangsdaten gesetzt ist, die Sie im vorherigen Schritt erstellt haben.
    Hinweis

    Importieren Sie die Sammlungsdaten mit der Option CONTENT=DATA_ONLY.

    Geben Sie die Collection an, die Sie mit dem Parameter INCLUDE importieren möchten. Dies ist nützlich, wenn ein Datendateiset das gesamte Schema enthält und die SODA-Collection, die Sie importieren müssen, als Teil des Dumpdateisets enthalten ist.

    Verwenden Sie REMAP_DATA, um eine der Spalten während des Imports zu ändern. Dieses Beispiel zeigt, wie Sie die Versionsspaltenmethode mit REMAP_DATA von SHA256 in UUID ändern.

    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \       
         credential=def_cred_name \      
         dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    

    Hinweise zu Data Pump-Parametern:

    • Wenn Sie während des Exports mit expdp den Parameter encryption_pwd_prompt=yes verwenden, verwenden Sie encryption_pwd_prompt=yes mit dem Import und dasselbe Kennwort beim impdp-Prompt, das Sie beim Export angegeben haben.

    • Der Parameter dumpfile unterstützt zusätzlich zu den Legacy-Platzhaltern %U und %u die Platzhalter %L und %l. Beispiel: dumpfile=export%L.dmp. Verwenden Sie den Platzhalter %L oder %l für Exporte aus Oracle Database Release 12.2 und höher. Dieser Platzhalter erweitert den Namen der Dumpdatei in eine 3-stellige Ganzzahl mit variabler Breite, die bei 100 beginnt und bei 2147483646 endet.

      Verwenden Sie den Legacy-Platzhalter %U oder %u für Exporte aus Oracle Database vor Release 12.2. Wenn Sie diese Option verwenden und mehr als 99 Dumpdateien erforderlich sind, müssen Sie mehrere Dumpdateinamen angeben, die jeweils den Parameter %U oder %u enthalten.

    Bei dumpfile verwendet dieses Beispiel das empfohlene URI-Format mit OCI Dedicated Endpoints für die kommerzielle Realm (OC1). namespace-string ist der Oracle Cloud Infrastructure-Objektspeicher-Namespace, und bucketname ist der Bucket-Name. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte, Regionen und Availability-Domains und Object Storage-Namespaces.

    In Oracle Data Pump Version 19.6 und höher authentifiziert das Argument credential Oracle Data Pump beim Cloud Object Storage-Service, den Sie für Ihre Quelldateien verwenden. Der Parameter credential kann kein Azure-Service-Principal, Amazon Resource Name (ARN) oder Google-Serviceaccount sein. Weitere Informationen zur Authentifizierung auf Basis von Resource Principals finden Sie unter Zugriff auf Cloud-Ressourcen durch Konfigurieren von Policys und Rollen.

    Das Argument dumpfile ist eine kommagetrennte Liste von URLs für Ihre Data Pump-Dateien.

    Um die beste Importperformance zu erreichen, verwenden Sie den Datenbankservice HIGH für die Importverbindung, und setzen den Parameter parallel auf ein Viertel der Anzahl der ECPUs (.25 x ECPU-Anzahl). Wenn Sie ein OCPU-Compute-Modell verwenden, legen Sie den parallelen Parameter auf die Anzahl der OCPUs fest (1 x OCPU-Anzahl).

    Informationen dazu, welcher Datenbankservicename für die Ausführung von Data Pump Import verwendet werden soll, finden Sie unter Nebenläufigkeit und Prioritäten in Autonomous Database verwalten.

    For the dump file URL format for different Cloud Object Storage services, see DBMS_CLOUD Package File URI Formats.

    Hinweis

    Um einen vollständigen Import durchzuführen oder Objekte zu importieren, deren Eigentümer andere Benutzer sind, benötigen Sie die Rolle DATAPUMP_CLOUD_IMP.

    Informationen zu nicht zulässigen Objekten in Autonomous Database finden Sie unter SQL-Befehle.

    In diesem Importbeispiel verwendet die Spezifikation für den Parameter REMAP_DATA die Funktion DBMS_SODA.TO_UUID, um UUID-Werte zu generieren. Standardmäßig wird für On-Premise-Datenbanken die Versionsspalte einer SODA-Collection mit SHA-256-Hash des Dokumentinhalts berechnet. In Autonomous Database verwendet die Versionsspalte UUID-generierte Werte, die vom Inhalt des Dokuments unabhängig sind.

    In diesem Beispiel verwendet der Parameter REMAP_DATA die Funktion DBMS_SODA.TO_UUID, um den Versionstyp der Quell-Collection durch die UUID-Versionierung zu ersetzen. Wenn im Exportdumpdateiset, das Sie importieren, die versionColumn.method bereits auf UUID gesetzt ist, ist die REMAP_DATA für dieses Feld nicht erforderlich.

    Ausführliche Informationen zu Oracle Data Pump Import-Parametern finden Sie unter Oracle Database-Utilitys.

Die Logdateien für Data Pump-Importvorgänge werden in dem Verzeichnis gespeichert, das Sie mit dem Data Pump-Importparameter DIRECTORY angeben. Weitere Informationen finden Sie unter Auf die Logdatei für Data Pump-Import zugreifen.