Importare i dati di raccolta SODA mediante 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 le utility di Oracle Data Pump a partire dalla versione 19.6. Oracle consiglia di utilizzare la versione più recente di Oracle Data Pump per importare i dati dai file di Data Pump nel database.

Scarica la versione più recente di Oracle Instant Client, che include Oracle Data Pump, per la tua piattaforma da 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 aver scaricato Oracle Instant Client.

In Oracle Data Pump, se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage, è possibile utilizzare gli URI nativi di Oracle Cloud Infrastructure, gli URI Swift o gli URI preautenticati. Per ulteriori informazioni 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 non è necessario che le credenziali fornite siano valide). Per informazioni sugli URI preautenticati di Oracle Cloud Infrastructure, vedere DBMS_CLOUD Package File URI Formats.

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

  1. Nel database di origine, esportare la raccolta SODA utilizzando il comando expdp di Oracle Data Pump.

    Per ulteriori informazioni, consulta la sezione relativa all'esportazione dell'Oracle Database esistente da importare in Autonomous Database.

  2. Caricare il set di file di dump dal passo 1 allo 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 del 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 il valore jsonFormat specificato come OSON.

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

    Per i dettagli, vedere Metadati di raccolta predefiniti SOA 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 individuare 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. 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 Procedura.

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

    Tipi di credenziale supportati:

    • L'importazione di Data Pump supporta le credenziali basate su token di autenticazione di Oracle Cloud Infrastructure e le 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 Procedura.

    • 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, è necessario fornire il parametro credential 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 di URL file nello storage degli oggetti cloud e il parametro credenziale impostato sul nome della credenziale creata nel passo precedente.
    Nota

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

    Specificare la raccolta che si desidera importare utilizzando il parametro INCLUDE. Ciò risulta 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 le colonne durante l'importazione. In questo esempio viene illustrato l'uso 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 si è 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 %U e %u precedenti. 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 di 3 cifre a 10 cifre e larghezza variabile, a partire da 100 e terminando con 2147483646.

      Utilizzare il carattere jolly precedente %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, consulta la sezione relativa agli endpoint dedicati dello storage degli oggetti, alle aree e ai domini di disponibilità e comprensione degli 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 in uso 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 sul principal delle risorse, vedere Accesso alle risorse cloud mediante la configurazione di criteri e ruoli.

    L'argomento dumpfile è una lista separata da virgole di URL per i file 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 i 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 i valori generati da UUID, che sono 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 in fase di importazione 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 di importazione di Data Pump. Per ulteriori informazioni, vedere Accesso al file di log per l'importazione di Data Pump.