Esporta dati mediante Oracle Data Pump

Oracle Data Pump offre uno spostamento estremamente rapido di dati e metadati in blocco tra Autonomous AI Database e altri database Oracle.

Oracle consiglia di utilizzare la versione più recente di Oracle Data Pump per esportare i dati da Autonomous AI Database ad altri database Oracle, in quanto contiene miglioramenti e correzioni per un'esperienza migliore. Scaricare la versione più recente di Oracle Instant Client e scaricare il pacchetto di strumenti, che include Oracle Data Pump, per la 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 necessari dopo aver scaricato Oracle Instant Client e il package Strumenti.

Per spostare i dati da un database AI autonomo ad altri database Oracle utilizzando Oracle Data Pump, utilizzare una delle opzioni riportate di seguito.
  • Opzione 1: Spostare i dati con l'esportazione di Data Pump in una directory del database AI autonomo

    Utilizzare Oracle Data Pump per esportare i dati in una directory del database, quindi spostare i dati dalla directory all'area di memorizzazione degli oggetti cloud. Questo metodo può essere utile quando si desidera spostare i dati dal database AI autonomo a più database di destinazione. Anziché esportare i dati in più aree di memorizzazione degli oggetti cloud, è possibile creare un set di file di dump una volta e utilizzarlo per più database di destinazione.

    Eseguire i passi riportati di seguito per spostare i dati da Autonomous AI Database esportandoli in una directory del database.
    1. Esportare i dati in una directory in Autonomous AI Database e spostare il file di dump impostato dalla directory all'area di memorizzazione degli oggetti cloud. Vedere Esportare i dati utilizzando una directory in Autonomous AI Database.
    2. Scaricare i file di dump dall'area di memorizzazione degli oggetti cloud, importare i dati nel database di destinazione ed eseguire il cleanup dell'area di memorizzazione degli oggetti cloud. Vedere Scaricare i file di dump, eseguire l'importazione di Data Pump ed eseguire il cleanup dell'area di memorizzazione degli oggetti.
  • Opzione 2: Sposta dati con esportazione Data Pump nell'area di memorizzazione degli oggetti

    Utilizzando questo metodo di esportazione si utilizza Oracle Data Pump per esportare direttamente i dati nell'area di memorizzazione degli oggetti. Questo metodo di esportazione è supportato con Oracle Cloud Infrastructure Object Storage e Oracle Cloud Infrastructure Object Storage Classic. In questo modo si evita il sovraccarico dovuto alla creazione di un file di dump impostato in una directory nel database AI autonomo, quindi si sposta il file di dump impostato nell'area di memorizzazione degli oggetti cloud. Quando si prevede di spostare i dati in un singolo database di destinazione, questo metodo consente di risparmiare fatica e velocizzare il processo di esportazione.

    Eseguire i passi riportati di seguito per spostare i dati da Autonomous AI Database esportandoli direttamente nell'area di memorizzazione degli oggetti.
    1. Esporta direttamente i dati dal database AI autonomo in un'area di memorizzazione degli oggetti cloud. Vedere Esportare direttamente i dati da Autonomous AI Database all'area di memorizzazione degli oggetti.
    2. Scaricare i file di dump dall'area di memorizzazione degli oggetti cloud, importare i dati nel database di destinazione ed eseguire il cleanup dell'area di memorizzazione degli oggetti cloud. Vedere Scaricare i file di dump, eseguire l'importazione di Data Pump ed eseguire il cleanup dell'area di memorizzazione degli oggetti.

Esportare i dati utilizzando una directory nel database AI autonomo

Per esportare i dati utilizzando una directory in Autonomous AI Database, è innanzitutto necessario creare un file di dump con i dati esportati in una directory del database e quindi caricare tali file dalla directory del database nell'area di memorizzazione degli oggetti cloud.

Utilizzare Data Pump per creare un set di file di dump nel database AI autonomo

  1. Creare una directory in cui memorizzare i file di dump contenenti i dati esportati. Ad esempio:
    CREATE DIRECTORY data_export_dir as 'data_export';
  2. Eseguire l'esportazione di Data Pump con il parametro dumpfile impostato, il parametro filesize impostato su un valore inferiore a 50G e il set di parametri directory. Ad esempio, come esportare uno schema denominato SALES in un Autonomous AI Database denominato ATPC1 con 64 ECPU:
    expdp sales/password@ATPC1_high 
    directory=data_export_dir 
    dumpfile=exp%L.dmp 
    parallel=16
    encryption_pwd_prompt=yes
    filesize=1G
    logfile=export.log
    Note per i parametri Data Pump:
    • Nel caso delle ECPU, parallel deve essere impostato su 0,25 volte il conteggio delle ECPU. Pertanto, nell'esempio precedente con 64 ECPU, parallel è impostato su 0,25 x 64, ovvero 16 con expdp.

    • In caso di OCPU, parallel deve essere impostato sullo stesso valore del conteggio di OCPU. Nell'esempio precedente con 16 OCPU, parallel verrà impostato su 16, con expdp.

    • Se durante l'esportazione con expdp si utilizza il parametro encryption_pwd_prompt=yes, è necessario utilizzare encryption_pwd_prompt=yes con l'importazione e immettere la stessa password al prompt impdp per decifrare i file di dump (ricordare la password fornita con l'esportazione). La lunghezza massima della password di cifratura è di 128 byte.

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

    Per ottenere le migliori prestazioni di esportazione, utilizzare il servizio di database HIGH per la connessione di esportazione e impostare il parametro PARALLEL sul numero di CPU in un database. Per informazioni sul nome del servizio di database da connettere per eseguire l'esportazione di Data Pump, vedere Nomi dei servizi di database predefiniti per i database AI Autonomous.

    Al termine dell'esportazione, è possibile visualizzare i file di dump generati eseguendo una query simile alla seguente:
    SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
    Ad esempio, l'output di questa query mostra i file di dump generati e il file di log di esportazione:
    
    OBJECT_NAME                 BYTES  CHECKSUM                   CREATED          LAST_MODIFIED  
    ---------------------- ---------- ----–---- –------------------------–----- --------------------
    exp01.dmp                   12288               12-NOV-19 06.10.47.0 PM GMT       12-NOV-19...
    exp02.dmp                    8192               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp03.dmp                 1171456               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp04.dmp                  348160               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    export.log                   1663               12-NOV-19 06.10.50.0 PM GMT       12-NOV-19...
    

Note

  • Per eseguire un'esportazione completa o per esportare oggetti di proprietà di altri utenti, è necessario disporre del ruolo DATAPUMP_CLOUD_EXP.

  • L'interfaccia API utilizzata per spostare i file di dump nello storage degli oggetti supporta dimensioni di file fino a 50 GB, pertanto assicurarsi di non specificare dimensioni superiori a quelle specificate nell'argomento filesize.

  • Per ulteriori informazioni, vedere Oracle Data Pump Export in Oracle Database 19c Utilities o Oracle Database 26ai Utilities.

Sposta il set di file di dump dal database AI autonomo all'area di memorizzazione degli oggetti cloud

  1. Connettiti al tuo database AI autonomo.

  2. Memorizzare le credenziali dello storage degli oggetti cloud utilizzando la procedura DBMS_CREDENTIAL.CREATE_CREDENTIAL. Ad esempio:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@oracle.com',
        password => 'password'
      );
    END;
    /
    I valori forniti per username e password dipendono dal servizio di storage degli oggetti cloud che si sta utilizzando:
    • Oracle Cloud Infrastructure Object Storage: username è il nome utente di Oracle Cloud Infrastructure e password è il token di autenticazione di Oracle Cloud Infrastructure. Vedere Utilizzo dei token di autenticazione.

    • Oracle Cloud Infrastructure Object Storage Classic: username è il tuo nome utente Oracle Cloud Infrastructure Classic e password è la tua password Oracle Cloud Infrastructure Classic.

      Questa operazione memorizza le credenziali nel database in formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale. Tenere presente che questo passo è necessario una sola volta a meno che le credenziali dell'area di memorizzazione degli oggetti non vengano modificate. Dopo aver memorizzato le credenziali, è possibile utilizzare lo stesso nome di credenziale per tutti i caricamenti dati.

  3. Spostare i file di dump dal database AI autonomo all'area di memorizzazione degli oggetti cloud chiamando DBMS_CLOUD.PUT_OBJECT.

    Ad esempio:
    BEGIN
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp01.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp02.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp03.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp04.dmp');
    END;
    /

    Per informazioni su PUT_OBJECT, vedere PUT_OBJECT Procedure.

Esporta direttamente i dati dal database AI autonomo nell'area di memorizzazione degli oggetti

Mostra come utilizzare Oracle Data Pump per esportare direttamente i dati da Autonomous AI Database nell'area di memorizzazione degli oggetti cloud.

  1. Connettiti al tuo database AI autonomo.
  2. Memorizzare le credenziali dello storage degli oggetti cloud utilizzando la procedura DBMS_CREDENTIAL.CREATE_CREDENTIAL. Ad esempio:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
               username => 'adb_user@oracle.com',
        password => 'password'
        );
    END;
    /
    I valori forniti per il nome utente e la password dipendono dal servizio di storage degli oggetti cloud in uso:
    • Oracle Cloud Infrastructure Object Storage: username è il nome utente di Oracle Cloud Infrastructure e password è il token di autenticazione di Oracle Cloud Infrastructure. Vedere Utilizzo dei token di autenticazione.
    • Oracle Cloud Infrastructure Object Storage Classic: username è il tuo nome utente Oracle Cloud Infrastructure Classic e password è la tua password Oracle Cloud Infrastructure Classic.

    Questa operazione memorizza le credenziali nel database in formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale. Tenere presente che questo passo è necessario una sola volta a meno che le credenziali dell'area di memorizzazione degli oggetti non vengano modificate. Dopo aver memorizzato le credenziali, è possibile utilizzare lo stesso nome di credenziale per tutti i caricamenti dati.

  3. Come utente ADMIN, impostare le credenziali definite nel passo precedente come credenziali predefinite per l'Autonomous AI Database.
    Ad esempio:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME';
  4. Esegui esportazione Data Pump con il parametro dumpfile impostato sull'URL di un bucket esistente nello storage degli oggetti cloud (che termina con un nome file o un nome file con una variabile di sostituzione, ad esempio exp%U.dmp).
    • Oracle Data Pump versione 19.9 o successiva:
      impostare il parametro credential sul nome della credenziale creata nel Passo 2. Ad esempio:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      credential=DEF_CRED_NAME \
      dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index
      In questo esempio, dumpfile è un URI Swift di Oracle Cloud Infrastructure che specifica tutti i file il cui nome corrisponde a export<number>.dmp nel bucket mybucket nell'area us-ashburn-1. (adbdpreview1 è lo spazio di nomi dello storage degli oggetti in cui risiede il bucket).
    • Versioni di Oracle Data Pump precedenti alla 19.9:
      avviare il valore del parametro dumpfile con la parola chiave default_credential e i due punti. Ad esempio:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ 
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index 
      In questo esempio, la parola chiave default_credential nel parametro dumpfile è obbligatoria.
    Note per i parametri di Oracle Data Pump:
    • Per impostazione predefinita, l'esportazione di Oracle Data Pump comprime solo i metadati prima di scrivere nel set di file di dump. È possibile impostare il parametro compression su ALL per comprimere metadati e dati prima di scrivere nel set di file di dump. Per ulteriori dettagli, consulta COMPRESSION in Oracle Database 19c Utilities o Oracle Database 26ai Utilities.

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

      Per ulteriori informazioni, vedere Parametri disponibili nella modalità riga di comando di esportazione di Data Pump in Oracle Database 19c Utilities o Oracle Database 26ai Utilities.

    • Per ottenere le migliori prestazioni di esportazione, utilizzare il servizio di database high per la connessione di esportazione e impostare il parametro parallel su 0,25 volte il numero di ECPU o lo stesso numero di OCPU nel database AI autonomo. Per informazioni sul nome del servizio di database da connettere per eseguire l'esportazione di Data Pump, vedere Nomi dei servizi di database predefiniti per i database AI Autonomous.

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

    Per informazioni sugli oggetti non consentiti nel database AI autonomo, vedere Limitazioni sull'uso dei comandi SQL.

  5. Convalidare i risultati.
    Oracle Data Pump divide ogni parte del file di dump in chunk più piccoli per caricamenti più veloci. La console dello storage degli oggetti di Oracle Cloud Infrastructure mostra più file per ogni parte del file di dump esportata. La dimensione dei file di dump effettivi verrà visualizzata come zero (0) e i relativi blocchi di file correlati come 10 MB o meno. Ad esempio:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa

    Nota

    Il download del file di dump a zero byte dalla console di Oracle Cloud Infrastructure o l'utilizzo dell'interfaccia CLI di Oracle Cloud Infrastructure non fornirà i file di dump completi. Per scaricare i file di dump completi dall'area di memorizzazione degli oggetti, utilizzare uno strumento che supporti Swift come curl e fornire il login utente e il token di autenticazione Swift. Ad esempio:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp

Scaricare i file di dump, eseguire l'importazione di Data Pump ed eseguire il cleanup dell'area di memorizzazione degli oggetti

Se necessario, scaricare i file di dump dall'area di memorizzazione degli oggetti cloud e utilizzare l'importazione di Oracle Data Pump per importare il set di file di dump nel database di destinazione. Eseguire quindi l'eventuale pulizia necessaria.

  1. Scaricare i file di dump dall'area di memorizzazione degli oggetti cloud.

    Nota

    Questo passo non è necessario se si importano i dati in un altro database AI autonomo.
    Se si esporta direttamente nell'area di memorizzazione degli oggetti utilizzando Oracle Data Pump, come mostrato in Esporta dati da Autonomous AI Database all'area di memorizzazione degli oggetti direttamente, i file di dump nell'area di memorizzazione degli oggetti mostrano la dimensione 0. Oracle Data Pump divide ogni parte del file di dump in chunk più piccoli per caricamenti più rapidi. La console di storage degli oggetti di Oracle Cloud Infrastructure mostra più file per ogni parte del file di dump esportata. La dimensione dei file di dump effettivi verrà visualizzata come zero (0) e i relativi chunk di file correlati come 10mb o meno. Ad esempio:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa
    Il download del file di dump a zero byte dalla console di Oracle Cloud Infrastructure o l'utilizzo dell'interfaccia CLI di Oracle Cloud Infrastructure non fornirà i file di dump completi. Per scaricare i file di dump completi dall'area di memorizzazione degli oggetti, utilizzare uno strumento che supporti Swift come curl e fornire il login utente e il token di autenticazione Swift. Ad esempio:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp

    Il comando cURL non supporta caratteri jolly o caratteri di sostituzione nell'URL. Per scaricare il file di dump impostato dall'area di memorizzazione degli oggetti, è necessario utilizzare più comandi cURL. In alternativa, è possibile utilizzare uno script che supporta i caratteri di sostituzione per scaricare tutti i file di dump dall'area di memorizzazione degli oggetti in un unico comando. Per un esempio, vedere Come scaricare tutti i file da un job di esportazione nell'area di memorizzazione degli oggetti in Autonomous AI Database utilizzando cURL.

  2. Eseguire l'importazione di Data Pump per importare il set di file di dump nel database di destinazione.

    Nota

    Se si importano i dati in un altro database AI autonomo, vedere Caricare i dati utilizzando Oracle Data Pump.

    Nel caso di file esportati direttamente nell'area di memorizzazione degli oggetti mediante Oracle Data Pump, come mostrato in Esporta dati da Autonomous AI Database all'area di memorizzazione degli oggetti direttamente, se si importa un file con le procedure DBMS_CLOUD che supportano il parametro format type con il valore 'datapump', è necessario solo fornire il nome del file primario. Le procedure che supportano il tipo di formato 'datapump' rilevano e scaricano automaticamente i chunk.

  3. Eseguire i task di cleanup successivi all'importazione. Se l'importazione dei file di dump nei database di destinazione è terminata, eliminare il bucket contenente i dati o rimuovere i file di dump dal bucket dell'area di memorizzazione degli oggetti cloud e rimuovere i file di dump dalla posizione in cui sono stati scaricati i file di dump per eseguire l'importazione di Data Pump.

Per informazioni dettagliate, vedere Parametri disponibili in modalità riga di comando di importazione di Oracle Data Pump in Oracle Database 19c Utilities o Oracle Database 26ai Utilities.