Importare i dati di raccolta SODA utilizzando Oracle Data Pump versione 19.6 o successiva

Mostra i passi per importare le raccolte SODA in Autonomous Database con Oracle Data Pump.

È possibile esportare e importare le raccolte SODA utilizzando Oracle Data Pump Utilities a partire dalla versione 19.6. Oracle consiglia di utilizzare la versione più recente di Oracle Data Pump per importare i dati dai file Data Pump nel database.

Scarica l'ultima versione di Oracle Instant Client, che include Oracle Data Pump, per la tua piattaforma dai Download di Oracle Instant Client. Vedere le istruzioni di installazione nella pagina di download dell'installazione della piattaforma per i passi di installazione richiesti dopo il download di Oracle Instant Client.

In Oracle Data Pump, se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage, puoi utilizzare gli URI nativi di Oracle Cloud Infrastructure, gli URI Swift o gli URI preautenticati. Per informazioni dettagliate su questi formati URI file, vedere DBMS_CLOUD Formati URI file package.

Se si utilizza un URI preautenticato di Oracle Cloud Infrastructure, è comunque necessario fornire un parametro credential. Tuttavia, le credenziali per un URL preautenticato vengono ignorate (e le credenziali fornite non devono essere valide). Per informazioni sugli URI preautenticati di Oracle Cloud Infrastructure, vedere DBMS_CLOUD Package File URI Formats.

Questo esempio mostra come creare i metadati della raccolta SODA e importare una raccolta SODA con Data Pump.

  1. Esportare la raccolta SODA nel database di origine utilizzando il comando expdp di Oracle Data Pump.

    Per ulteriori informazioni, consulta la sezione Esporta Oracle Database esistente da importare in Autonomous Database.

  2. Caricare il set di file di dump dal passo 1 nello storage degli oggetti cloud.
  3. Creare una raccolta SODA con i metadati di raccolta SODA necessari nell'Autonomous Database.

    Ad esempio, se si esporta una raccolta denominata MyCollectionName dal database di origine con i seguenti metadati:

    • La colonna di contenuto è di tipo BLOB.

    • La colonna della versione utilizza il metodo SHA256.

    Quindi, nell'Autonomous Database in cui si importa la raccolta, creare una nuova raccolta:

    • Per impostazione predefinita in Autonomous Database per una nuova raccolta, la colonna di contenuto è impostata su BLOB con jsonFormat specificato come OSON.

    • Per impostazione predefinita in Autonomous Database per una nuova raccolta, versionColumn.method è impostato su UUID.

    Per informazioni dettagliate, vedere Metadati di raccolta predefinita SODA su Autonomous Database.

    Ad esempio:

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

    È possibile utilizzare la funzione PL/SQL DBMS_SODA.LIST_COLLECTION_NAMES per trovare le raccolte esistenti. Per ulteriori informazioni, vedere LIST_COLLECTION_NAMES Function.

    È possibile visualizzare i metadati per le raccolte SODA eseguendo una query sulla vista USER_SODA_COLLECTIONS. Per ulteriori informazioni, vedere USER_SODA_COLLECTIONS.

  4. Memorizzare le credenziali dello storage degli oggetti cloud utilizzando DBMS_CLOUD.CREATE_CREDENTIAL.

    Ad esempio, per creare le credenziali del token di autenticazione di Oracle Cloud Infrastructure:

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

    Per ulteriori informazioni sull'autenticazione del token di autenticazione di Oracle Cloud Infrastructure, vedere CREATE_CREDENTIAL Procedure.

    Ad esempio, per creare credenziali basate sulla chiave di firma di Oracle Cloud Infrastructure:

    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;
    /

    Per ulteriori informazioni sulle credenziali basate sulla chiave di firma di Oracle Cloud Infrastructure, vedere CREATE_CREDENTIAL Procedure.

    Tipi di credenziali supportati:

    • L'importazione di Data Pump supporta credenziali basate su token di autenticazione di Oracle Cloud Infrastructure e credenziali basate su chiave di firma di Oracle Cloud Infrastructure.

      Per ulteriori informazioni sulle credenziali basate sulla chiave di firma di Oracle Cloud Infrastructure, vedere CREATE_CREDENTIAL Procedure.

    • Data Pump supporta l'uso di un URL preautenticato di Oracle Cloud Infrastructure Object Storage per il parametro dumpfile. Quando si utilizza un URL preautenticato, fornire il parametro credential obbligatorio e il valore credential può essere NULL. Per ulteriori informazioni, vedere Utilizzo delle richieste preautenticate.
  5. Eseguire l'importazione di Data Pump con il parametro dumpfile impostato sulla lista degli URL di file nello storage degli oggetti cloud e il parametro credential impostato sul nome della credenziale creata nel passo precedente.
    Nota

    Importare i dati della raccolta utilizzando l'opzione CONTENT=DATA_ONLY.

    Specificare la raccolta che si desidera importare utilizzando il parametro INCLUDE. Ciò è utile se un set di file di dati contiene l'intero schema e la raccolta SODA da importare viene inclusa come parte del set di file di dump.

    Utilizzare REMAP_DATA per modificare qualsiasi colonna durante l'importazione. Questo esempio mostra l'utilizzo di REMAP_DATA per modificare il metodo della colonna della versione da SHA256 a UUID.

    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 
          
    

    Note per i parametri Data Pump:

    • Se durante l'esportazione con expdp è stato utilizzato il parametro encryption_pwd_prompt=yes, utilizzare encryption_pwd_prompt=yes e immettere la stessa password al prompt impdp specificato durante l'esportazione.

    • Il parametro dumpfile supporta i caratteri jolly %L e %l oltre ai caratteri jolly legacy %U e %u. Ad esempio, dumpfile=export%L.dmp. Utilizzare il carattere jolly %L o %l per le esportazioni da Oracle Database Release 12.2 e successive. Questo carattere jolly espande il nome del file di dump in un numero intero incrementale a 3 cifre a 10 cifre e a larghezza variabile, a partire da 100 e terminando a 2147483646.

      Utilizzare il carattere jolly legacy %U o %u per le esportazioni da Oracle Database prima della Release 12.2. Se si utilizza questa opzione e sono necessari più di 99 file di dump, è necessario specificare più nomi di file di dump, ciascuno con il parametro %U o %u.

    Per dumpfile, questo esempio utilizza il formato URI consigliato utilizzando gli endpoint dedicati OCI per il realm commerciale (OC1). namespace-string è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname è il nome del bucket. Per ulteriori informazioni, vedere Endpoint dedicati dello storage degli oggetti, Aree e domini di disponibilità e Informazioni sugli spazi di nomi dello storage degli oggetti.

    In Oracle Data Pump versione 19.6 e successive, l'argomento credenziale autentica Oracle Data Pump nel servizio di storage degli oggetti cloud che si sta utilizzando per i file di origine. Il parametro credential non può essere un principal del servizio Azure, un nome risorsa Amazon (ARN) o un account del servizio Google. Per ulteriori informazioni sull'autenticazione basata sui principal delle risorse, vedere Accesso alle risorse cloud mediante la configurazione di criteri e ruoli.

    L'argomento file_dump è una lista delimitata da virgole di URL per i file di Data Pump.

    Per ottenere le migliori prestazioni di importazione, utilizzare il servizio di database HIGH per la connessione di importazione e impostare il parametro parallel su un quarto del numero di ECPU (25 x conteggio ECPU). Se si utilizza il modello di computazione OCPU, impostare il parametro parallelo sul numero di OCPU (1 x conteggio OCPU).

    Per informazioni sul nome del servizio di database da connettere per eseguire l'importazione di Data Pump, vedere Gestisci concorrenza e priorità su Autonomous Database.

    Per il formato dell'URL del file di dump per diversi servizi di storage degli oggetti cloud, vedere DBMS_CLOUD Formati URI file package.

    Nota

    Per eseguire un'importazione completa o per importare oggetti di proprietà di altri utenti, è necessario disporre del ruolo DATAPUMP_CLOUD_IMP.

    Per informazioni sugli oggetti non consentiti in Autonomous Database, vedere Comandi SQL.

    In questo esempio di importazione, la specifica per il parametro REMAP_DATA utilizza la funzione DBMS_SODA.TO_UUID per generare valori UUID. Per impostazione predefinita, per i database in locale, la colonna della versione di una raccolta SODA viene calcolata utilizzando l'hash SHA-256 del contenuto del documento. In Autonomous Database la colonna della versione utilizza valori generati dall'UUID, indipendenti dal contenuto del documento.

    In questo esempio il parametro REMAP_DATA utilizza la funzione DBMS_SODA.TO_UUID per sostituire il tipo di versione della raccolta di origine con il controllo delle versioni UUID. Se nel set di file di dump di esportazione che si sta importando versionColumn.method è già impostato su UUID, il valore REMAP_DATA per questo campo non è obbligatorio.

    Per informazioni dettagliate sui parametri di importazione di Oracle Data Pump, vedere Oracle Database Utilities.

I file di log per le operazioni di importazione di Data Pump vengono memorizzati nella directory specificata con il parametro DIRECTORY Importazione di Data Pump. Per ulteriori informazioni, vedere Accesso al file di log per l'importazione di Data Pump.