SODA-Sammlungsdaten 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 ab Version 19.6 mit Oracle Data Pump-Utilitys exportieren und importieren. Oracle empfiehlt, die neueste Oracle Data Pump-Version für den Import von Daten aus Data Pump-Dateien in die Datenbank zu verwenden.

Laden Sie die neueste Version von Oracle Instant Client, die 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 sich die Quelldateien in Oracle Cloud Infrastructure Object Storage befinden, können Sie in Oracle Data Pump native URIs, Swift-URIs oder vorab authentifizierte URIs von Oracle Cloud Infrastructure verwenden. Einzelheiten zu diesen Datei-URI-Formaten finden Sie unter DBMS_CLOUD-Package - Datei-URI-Formate.

Wenn Sie eine in Oracle Cloud Infrastructure vorab authentifizierte 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). Informationen zu vorab authentifizierten Oracle Cloud Infrastructure-URIs finden Sie unter DBMS_CLOUD-Package - Datei-URI-Formate.

Dieses Beispiel zeigt, wie Sie die SODA-Cammlungsmetadaten erstellen und eine SODA-Cammlung mit Data Pump importieren.

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

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

    • Die Inhaltsspalte weist den Typ BLOB auf.

    • Die Versionsspalte verwendet die Methode SHA256.

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

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

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

    Weitere Einzelheiten finden Sie unter Standardmäßige SODA-Erfassungsmetadaten in Autonomous Database.

    Beispiele:

    
    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 die Zugangsdaten für den Cloudobjektspeicher 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 auf dem Oracle Cloud Infrastructure-Signaturschlüssel basierende 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:

    • Der Data Pump-Import unterstützt auf Oracle Cloud Infrastructure-Authentifizierungstoken basierende Zugangsdaten und auf Oracle Cloud Infrastructure-Signaturschlüssel 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 credential kann NULL lauten. Weitere Informationen finden Sie unter Vorab authentifizierte Anforderungen verwenden.
  5. Führen Sie Data Pump Import aus, und setzen Sie den Parameter dumpfile auf die Liste der Datei-URLs in Ihrem Cloud-Objektspeicher, und setzen Sie den Parameter credential auf den Namen der Zugangsdaten, die Sie im vorherigen Schritt erstellt haben.
    Hinweis

    Importieren Sie die Collection-Daten mit der Option CONTENT=DATA_ONLY.

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

    Verwenden Sie REMAP_DATA, um Spalten während des Imports während des Imports zu ändern. Dieses Beispiel zeigt, wie Sie mit REMAP_DATA die Versionsspaltenmethode 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 verwendet haben, verwenden Sie encryption_pwd_prompt=yes, und geben Sie am impdp-Prompt dasselbe Kennwort ein, das Sie beim Export angegeben haben.

    • Der Parameter dumpfile unterstützt die Platzhalter %L und %l zusätzlich zu den Legacy-Platzhaltern %U und %u. 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, inkrementierende 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 mit jeweils dem Parameter %U oder %u angeben.

    Für 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 der Bucket-Name. Weitere Informationen finden Sie unter Dedizierte Object Storage-Endpunkte, Regionen und Availability-Domains und Object Storage-Namespaces.

    Mit dem Argument credential in Oracle Data Pump Version 19.6 und höher wird Oracle Data Pump beim Cloud Object Storage-Service authentifiziert, den Sie für Ihre Quelldateien verwenden. Der Parameter credential kann kein Azure-Service-Principal, Amazon-Ressourcenname (ARN) oder ein Google-Serviceaccount sein. Weitere Informationen zur Resource Principal-basierten Authentifizierung finden Sie unter Auf Cloud-Ressourcen durch Konfigurieren von Policys und Rollen zugreifen.

    Das Argument dumpfile ist eine durch Komma getrennte Liste von URLs für die Data Pump-Dateien.

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

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

    Informationen zum URL-Format der Dumpdatei für verschiedene Cloud-Objektspeicherservices finden Sie unter DBMS_CLOUD-Package - Datei-URI-Formate.

    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-Befehl.

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

    In diesem Beispiel verwendet der Parameter REMAP_DATA die Funktion DBMS_SODA.TO_UUID, um den Versionstyp der Quellgruppe durch UUID-Versionierung zu ersetzen. Wenn versionColumn.method im zu importierenden Exportdumpdateiset bereits auf "UUID" gesetzt ist, ist 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 Parameter DIRECTORY für Data Pump-Import angeben. Weitere Informationen finden Sie unter Auf die Logdatei für Data Pump-Import zugreifen.