Esportare i 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 in 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 Autonomous AI Database 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 Autonomous AI Database
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 da Autonomous AI Database 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.
-
Esportare i dati in una directory in Autonomous AI Database e spostare il file di dump impostato dalla directory nell'area di memorizzazione degli oggetti cloud. Vedere Esportare i dati utilizzando una directory in Autonomous AI Database.
-
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 Download dei file di dump, Run Data Pump Import e 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 di Autonomous AI Database, 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.
- Esporta direttamente i dati da Autonomous AI Database in un'area di memorizzazione degli oggetti cloud. Vedere Esportare direttamente i dati da Autonomous AI Database all'area di memorizzazione degli oggetti.
- 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 Download dei file di dump, Run Data Pump Import e Cleanup dell'area di memorizzazione degli oggetti.
Esportare i dati utilizzando una directory in Autonomous AI Database
Per esportare i dati utilizzando una directory in Autonomous AI Database, è innanzitutto necessario creare un set di 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 sul database AI Autonomous
-
Creare una directory in cui memorizzare i file di dump contenenti i dati esportati. Ad esempio:
CREATE DIRECTORY data_export_dir as 'data_export'; -
Eseguire Data Pump Export con il parametro dumpfile impostato, il parametro filesize impostato su un valore inferiore a 50G e il set di parametri directory. Ad esempio, quanto segue mostra come esportare uno schema denominato
SALESin un Autonomous AI Database denominatoATPC1con 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.logNote per i parametri Data Pump:
-
Nel caso delle ECPU,
paralleldeve 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 conexpdp. -
In caso di OCPU,
paralleldeve essere impostato sullo stesso valore del conteggio di OCPU. Nell'esempio precedente con 16 OCPU,parallelverrà impostato su 16, conexpdp. -
Se durante l'esportazione con
expdpsi utilizza il parametroencryption_pwd_prompt=yes, è necessario utilizzareencryption_pwd_prompt=yescon l'importazione e immettere la stessa password al promptimpdpper decifrare i file di dump (ricordare la password fornita con l'esportazione). La lunghezza massima della password di cifratura è di 128 byte. -
Il parametro
dumpfilesupporta i caratteri jolly%Le%loltre ai caratteri jolly legacy%Ue%u. Ad esempio,dumpfile=export%L.dmp.Utilizzare il carattere jolly
%Lo%lper 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.
Per ottenere le migliori prestazioni di esportazione, utilizzare il servizio di database
HIGHper la connessione di esportazione e impostare il parametroPARALLELsul 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 autonomi.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... -
Nota:
- Per eseguire un'esportazione completa o per esportare oggetti di proprietà di altri utenti, è necessario disporre del ruolo
DATAPUMP_CLOUD_EXP. - L'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 nell'argomento dimensione del file.
- 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 da Autonomous AI Databaseto L'area di memorizzazione degli oggetti cloud
-
Connettiti al tuo Autonomous AI Database.
-
Memorizzare le credenziali dello storage degli oggetti cloud mediante 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
usernameepassworddipendono dal servizio di storage degli oggetti cloud in uso:-
Oracle Cloud Infrastructure Object Storage:
usernameè il nome utente di Oracle Cloud Infrastructure epasswordè 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 epasswordè la tua password Oracle Cloud Infrastructure Classic.Questa operazione memorizza le credenziali nel database in un formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale. Tenere presente che questo passo è obbligatorio una sola volta a meno che le credenziali dell'area di memorizzazione degli oggetti non vengano modificate. Una volta memorizzate le credenziali, è possibile utilizzare lo stesso nome credenziale per tutti i caricamenti dati.
-
-
Spostare i file di dump da Autonomous AI Database 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 Procedura PUT_OBJECT.
Esporta direttamente i dati da Autonomous AI Database all'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.
-
Connettiti al tuo Autonomous AI Database.
-
Memorizzare le credenziali dello storage degli oggetti cloud mediante 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 epasswordè 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 epasswordè la tua password Oracle Cloud Infrastructure Classic.
Questa operazione memorizza le credenziali nel database in un formato cifrato. È possibile utilizzare qualsiasi nome per il nome della credenziale. Tenere presente che questo passo è obbligatorio una sola volta a meno che le credenziali dell'area di memorizzazione degli oggetti non vengano modificate. Una volta memorizzate le credenziali, è possibile utilizzare lo stesso nome credenziale per tutti i caricamenti dati.
-
-
Come utente
ADMIN, impostare la credenziale definita nel passo precedente come credenziale predefinita per Autonomous AI Database.Ad esempio:
ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME'; -
Eseguire l'esportazione di Data Pump con il parametro dumpfile impostato sull'URL per 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
credentialsul 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,indexIn questo esempio,
dumpfileè un URI Swift di Oracle Cloud Infrastructure che specifica tutti i file il cui nome corrisponde aexport<number>.dmpnel bucketmybucketnell'areaus-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:
iniziare il valore del parametro
dumpfilecon la parola chiavedefault_credentiale 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,indexIn questo esempio è richiesta la parola chiave
default_credentialnel parametrodumpfile.
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
compressionsuALLper 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
dumpfilesupporta i caratteri jolly%Le%loltre ai caratteri jolly legacy%Ue%u. Ad esempio,dumpfile=export%L.dmp.Utilizzare il carattere jolly
%Lo%lper 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.Per ulteriori informazioni, vedere Parametri disponibili in modalità riga di comando di esportazione Data Pump in Oracle Database 19c Utilities o Oracle Database 26ai Utilities.
-
Per ottenere le migliori prestazioni di esportazione, utilizzare il servizio di database
highper la connessione di esportazione e impostare il parametroparallelsu 0,25 volte il numero di ECPU o lo stesso numero di OCPU nell'Autonomous AI 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 autonomi. -
Per il formato 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 in Autonomous AI Database, vedere Limitazioni sull'uso dei comandi SQL.
-
-
Consente di convalidare i risultati.
Oracle Data Pump divide ogni parte del file di dump in chunk più piccoli per caricamenti più rapidi. La console di Oracle Cloud Infrastructure Object Storage 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_aaaaaaNota:
Scaricando il file di dump a zero byte dalla console o utilizzando l'interfaccia CLI non si riceveranno i file di dump completi. Per scaricare i file di dump completi dall'area di memorizzazione degli oggetti, utilizzare uno strumento che supporti Swift, ad esempio 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
Scarica file di dump, esegui importazione Data Pump ed esegui cleanup area di memorizzazione 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 file di dump impostato nel database di destinazione. Eseguire quindi il cleanup necessario.
-
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 Autonomous AI Database
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 Oracle Cloud Infrastructure Object Storage 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_aaaaaaIl download del file di dump a zero byte dalla console di Oracle Cloud Infrastructure o utilizzando l'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, ad esempio 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.dmpIl 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.
-
Eseguire Importazione Data Pump per importare il file di dump impostato nel database di destinazione.
Nota: se si stanno importando i dati in un altro Autonomous AI Database, 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_CLOUDche supportano il parametroformattypecon 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. -
Eseguire i task di cleanup successivi all'importazione. Al termine dell'importazione dei file di dump nei database di destinazione, 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.