Esegui migrazione dati con DBMS_CLOUD_IMPORT
DBMS_CLOUD_IMPORT ti consente di importare dati da database Oracle e non Oracle in Oracle Autonomous AI Database utilizzando un approccio semplice e coerente.
- Migrazione dei dati con DBMS_CLOUD_IMPORT
Quando si lavora su più sistemi di database, lo spostamento dei dati può essere complesso a causa delle differenze tra tecnologie, formati e strumenti.DBMS_CLOUD_IMPORTsemplifica questo processo fornendo un approccio unificato per importare i dati tra le piattaforme, eliminando la necessità di gestire più strumenti o flussi di lavoro. - Prerequisiti
Elenca i prerequisiti per l'esecuzione dell'importazione nell'Autonomous AI Database. - Importa dati utilizzando DBMS_CLOUD_IMPORT
Descrive come importare i dati nell'Autonomous AI Database utilizzandoDBMS_CLOUD_IMPORT. - Monitorare e diagnosticare l'importazione eterogenea
Per diagnosticare i problemi e monitorare l'avanzamento delle operazioni di importazione dei dati, è possibile eseguire una query sulle viste del dizionario dati riportate di seguito. Queste viste forniscono informazioni dettagliate sullo stato dei task, sull'avanzamento dell'esecuzione, sulle operazioni parallele e sugli oggetti correlati.
Argomento padre: Esegui la migrazione a Autonomous AI Database
Esegui migrazione dati con DBMS_CLOUD_IMPORT
Quando si lavora su più sistemi di database, lo spostamento dei dati può essere complesso a causa delle differenze tra tecnologie, formati e strumenti. DBMS_CLOUD_IMPORT semplifica questo processo fornendo un approccio unificato per importare i dati tra le piattaforme, eliminando la necessità di gestire più strumenti o flussi di lavoro.
DBMS_CLOUD_IMPORT supporta anche il trasferimento dati affidabile e ad alte prestazioni. Il processo di importazione utilizza l'esecuzione parallela per migliorare il throughput e, se un'importazione viene interrotta, ad esempio durante la manutenzione o la perdita di connessione al database di origine, riprende automaticamente da dove è stata interrotta, garantendo il completamento senza dover riavviare l'importazione.
Puoi importare i dati dai database Oracle e dai database non Oracle supportati, inclusi MySQL, PostgreSQL e Amazon Redshift. Per le origini Oracle, vengono importati sia i dati che gli oggetti di database. Per le origini non Oracle, l'importazione si concentra sullo spostamento dei dati con conversione automatica dei tipi di dati in formati compatibili con Oracle.
La funzionalità supporta l'importazione flessibile dei dati. È possibile importare un intero database o un subset di dati, ad esempio schemi o tabelle selezionati, in base ai requisiti. Oracle fornisce inoltre viste del dizionario dati per monitorare l'avanzamento e tenere traccia dello stato di importazione.
Vantaggi principali
- Importazione di dati unificata tra piattaforme: importa i dati dai database Oracle e non Oracle senza utilizzare più strumenti.
- Trasferimento dati ad alte prestazioni: sposta grandi volumi di dati utilizzando l'esecuzione parallela.
- Resistenza integrata: riprende automaticamente le operazioni di importazione dopo le interruzioni, inclusa la manutenzione o la perdita di connessione al database di origine.
- Selezione flessibile dei dati: importa un database completo o un subset di dati, inclusi schemi o tabelle specifici.
Per ulteriori informazioni, vedere gli argomenti riportati di seguito.
Argomento padre: Migrazione dei dati con DBMS_CLOUD_IMPORT
Requisiti indispensabili
Elenca i prerequisiti per eseguire l'importazione in Autonomous AI Database.
Prima di avviare l'importazione, assicurarsi che vengano soddisfatti i prerequisiti riportati di seguito.
-
È necessario eseguire il login come utente
ADMIN. -
I sottoprogrammi
DBMS_CLOUD_IMPORTaccedono al database di origine utilizzando un database link creato implicitamente nell'ambito del task di importazione. Per stabilire questa connessione, è necessario creare un oggetto credenziale con le credenziali del database remoto e farvi riferimento durante la creazione del task di importazione. Per ulteriori informazioni, vedere Procedura CREDENTIAL. -
Per i database di origine non Oracle, specificare
longtovarchar => 'true'nel parametrogateway_paramsquando si chiamaDBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Ciò è necessario perché i metadati nei database non Oracle sono costituiti da colonneLONG. Ad esempio:gateway_params => JSON_OBJECT('db_type' VALUE <db_type>, 'longtovarchar' VALUE 'true'). -
Assicurarsi che il database specificato da
service_namesia in grado di connettersi allo schema di destinazione e di accedervi. -
I job di importazione riprendono dal punto di interruzione, ad esempio dopo un evento di manutenzione pianificato o un'interruzione imprevista. L'elaborazione parallela e il curriculum automatico sono supportati per i database di origine Oracle, MySQL, PostgreSQL e Amazon Redshift. Per i database di origine non Oracle, per abilitare l'elaborazione parallela e la ripresa automatica sono necessari i prerequisiti riportati di seguito (a seconda del tipo di database di origine possono essere applicati prerequisiti aggiuntivi):
-
La tabella di origine è sottoposta a partizionamento intervallo.
-
Esistono statistiche dell'istogramma per almeno una colonna numerica.
-
È presente un indice numerico o una chiave primaria.
-
Se questi prerequisiti non vengono soddisfatti, la tabella viene copiata utilizzando CREATE TABLE AS SELECT (CTAS). In questo caso, l'elaborazione parallela non è supportata e, se il job viene interrotto, viene riavviato dall'inizio della tabella invece di riprendere dal punto di interruzione.
Potrebbero essere necessari prerequisiti aggiuntivi per supportare l'elaborazione parallela e la riavviabilità affidabile, a seconda del tipo di database di origine. Per ulteriori informazioni, vedere:
- Database di origine PostgreSQL
- Creare le viste richieste nel database PostgreSQL di origine. Per supportare l'elaborazione parallela e la riavviabilità affidabile durante la migrazione da PostgreSQL, creare le viste necessarie sul database di origine. Se le viste non sono presenti, l'importazione utilizza
CREATE TABLE AS SELECT(CTAS), in tale modalità l'elaborazione parallela non è supportata e, se il caricamento di una tabella viene interrotto, viene riavviato dall'inizio. Per ulteriori informazioni, vedere CREATE TABLE AS SELECT. - È possibile creare queste viste utilizzando gli script forniti da Oracle disponibili su GitHub. Rivedere ed eseguire gli script nel database PostgreSQL di origine prima di avviare l'importazione.
- Creare le viste richieste nel database PostgreSQL di origine. Per supportare l'elaborazione parallela e la riavviabilità affidabile durante la migrazione da PostgreSQL, creare le viste necessarie sul database di origine. Se le viste non sono presenti, l'importazione utilizza
Per ulteriori informazioni, consulta la documentazione di PostgreSQL 18.3.
- Database di origine MySQL
-
schema_listnon è supportato per le origini MySQL perché MySQL non utilizza schemi. Quando si richiamaREATE_IMPORT_TASK, specificare un array vuoto perschema_list([]). -
Il valore specificato per
service_nameviene utilizzato come nome dello schema. -
Crea le viste richieste nel database MySQL di origine. Per supportare l'elaborazione parallela e la riavviabilità affidabile durante la migrazione da MySQL, crea le viste necessarie sul database di origine. Se le viste non sono presenti, l'importazione utilizza
CREATE TABLE AS SELECT (CTAS), in tale modalità l'elaborazione parallela non è supportata e, se il caricamento di una tabella viene interrotto, viene riavviato dall'inizio. Per ulteriori informazioni, vedere CREATE TABLE AS SELECT. -
È possibile creare queste viste utilizzando gli script forniti da Oracle disponibili in Github. Rivedere ed eseguire gli script nel database MySQL di origine prima di avviare l'importazione.
-
Per ulteriori informazioni, consulta le riferimenti su MySQL.
- Database di origine Amazon Redshift
-
Concedere i privilegi per l'accesso al database link. Per leggere i dati dalle tabelle remote, è necessario assicurarsi che l'account utilizzato per creare il database link disponga dei privilegi necessari, ad esempio:
-
GRANT USAGE ON SCHEMA <remote_schema> TO <dblink_user>; -
GRANT SELECT ON <remote_schema>.<remote_table> TO <dblink_user>;
-
-
Garantire la visibilità dei metadati per schemi non
public. Se lo schema remoto non èpublice l'importazione deve eseguire una query sui metadati (ad esempio, tramitepg_table_def), è necessario includere lo schema nel filesearch_pathdell'utente del database link, ad esempio:-
ALTER USER <dblink_user> SET search_path TO <new_value>;
-
-
Per ulteriori informazioni, consulta la documentazione di Amazon Redshift.
Argomento padre: Migrazione dei dati con DBMS_CLOUD_IMPORT
Importa dati mediante DBMS_CLOUD_IMPORT
Descrive come importare i dati in Autonomous AI Database utilizzando DBMS_CLOUD_IMPORT.
Per importare i dati in Autonomous AI Database, utilizzare la procedura DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Questa procedura consente di importare i dati da database Oracle e non Oracle supportati specificando i dettagli di connessione richiesti e, facoltativamente, gli oggetti da importare.
È possibile importare un intero database o un subset di dati, ad esempio schemi o tabelle specifici, specificando parametri quali schema_list o table_list. Quando si esegue questa procedura, Oracle Database crea un job di Oracle Scheduler per gestire il task di importazione. Il job utilizza i dettagli e le credenziali di connessione forniti per creare un database link al database di origine e trasferire i dati in Autonomous AI Database.
Il funzionamento dell'importazione dipende dal tipo di database di origine:
- Importazioni da Oracle a Oracle: viene eseguita la migrazione di entrambi gli oggetti dati e database. Indici, vincoli e partizioni vengono creati automaticamente nell'Autonomous AI Database di destinazione. Se l'importazione viene interrotta (ad esempio, a causa di manutenzione), riprende dal punto di interruzione.
- Importazioni da database non Oracle: viene eseguita la migrazione solo dei dati. Chiavi, indici, vincoli e altri oggetti dipendenti non vengono creati. Le partizioni vengono create solo se la tabella di origine è partizionata in base all'intervallo. La capacità di ripresa dipende dai prerequisiti; in caso contrario, l'importazione viene riavviata dall'inizio.
Eseguire l'importazione come utente ADMIN. L'Autonomous AI Database di destinazione rimane disponibile durante l'importazione; tuttavia, Oracle consiglia di evitare altre attività nel database di destinazione fino al completamento dell'importazione. Se un job di importazione viene interrotto, ad esempio a causa di una manutenzione pianificata o di un'indisponibilità imprevista, può riprendere dal punto di interruzione o riavvio, a seconda del tipo di database di origine e se i prerequisiti sono soddisfatti. È inoltre possibile utilizzare la sospensione e la ripresa per sospendere temporaneamente e quindi continuare il job.
- Crea un task di importazione
Descrive i passi per creare un task di importazione. - Sospendi e riprendi importazione
Verrà descritto come sospendere e riprendere un'operazione di importazione. - Monitorare l'avanzamento dell'importazione
Dopo aver avviato un task di importazione, il job dello scheduler viene eseguito in background e Autonomous AI Database registra l'avanzamento sia a livello di task che di tabella. - Eliminare un task di importazione
Verranno descritti i passi da eseguire per eliminare un task di importazione.
Argomento padre: Migrazione dei dati con DBMS_CLOUD_IMPORT
Crea un task di importazione
Descrive i passi per creare un task di importazione.
Prima di creare e avviare il task di importazione, impostare l'autenticazione sul database di origine. DBMS_CLOUD_IMPORT utilizza un oggetto credenziale per connettersi in modo sicuro all'origine e per creare il database link richiesto per il task.
Per creare un task di importazione, procedere come indicato di seguito.
Per ulteriori informazioni, vedere gli argomenti riportati di seguito.
Argomento padre: Importa dati utilizzando DBMS_CLOUD_IMPORT
Sospendi e riprendi importa
Descrive come sospendere e riprendere un'operazione di importazione.
Se necessario, è possibile sospendere temporaneamente l'importazione utilizzando la procedura SUSPEND_IMPORT_TASK.
BEGIN
DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/In questo modo, il job dello scheduler viene arrestato conservando tutti i progressi e i metadati. Per ulteriori informazioni, vedere Procedura SUSPEND_IMPORT_TASK.
Per continuare l'importazione, utilizzare la procedura RESUME_IMPORT_TASK:
BEGIN
DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/Il job riprende dall'ultimo checkpoint, salta le tabelle completate e continua il lavoro rimanente.
Il funzionamento del curriculum dipende dal tipo e dai prerequisiti del database di origine. Quando vengono soddisfatti i prerequisiti per l'elaborazione parallela e il ripristino automatico, l'importazione continua dal punto di interruzione. In caso contrario, l'importazione utilizza
CREATE TABLE AS SELECT (CTAS); in questa modalità, l'elaborazione parallela non è supportata e, se il job viene interrotto, viene riavviato dall'inizio della tabella.
Per ulteriori informazioni, vedere Procedura RESUME_IMPORT_TASK.
Argomento padre: Importa dati utilizzando DBMS_CLOUD_IMPORT
Monitora avanzamento importazione
Dopo l'avvio di un task di importazione, il job dello scheduler viene eseguito in background e Autonomous AI Database registra l'avanzamento sia a livello di task che di tabella.
- DBA_DATA_IMPORT_TASK_STATUS: mostra l'avanzamento a livello di task, inclusi lo stato complessivo, la percentuale di completamento e un sintetico dell'attività, ad esempio le tabelle attualmente in corso.
- DBA_DATA_IMPORT_TABLE_STATUS: mostra l'avanzamento a livello di tabella per ogni tabella importata, inclusi i dettagli sullo stato e sull'errore per le tabelle non riuscite.
Ad esempio, eseguire una query su DBA_DATA_IMPORT_TABLE_STATUS per visualizzare l'avanzamento e gli errori a livello di tabella. La colonna STATUS indica lo stato corrente di ogni tabella, ad esempio SUCCEEDED, FAILED, LOADING o STOPPED.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'db1_cred',
username => '<username>',
password => '<password>'
);
END;
/L'output è simile al seguente:
IMPORT_TASK_NAME SCHEMA_NAME SCHEMA_OBJECT STATUS
------------------ ------------- --------------- ----------
IMPORT_JOB1 SALES ORDERS SUCCEEDED
IMPORT_JOB1 SALES CUSTOMERS SUCCEEDED
IMPORT_JOB1 HR EMPLOYEES LOADING
IMPORT_JOB1 HR DEPARTMENTS FAILEDAl termine dell'importazione, il job dello scheduler viene disabilitato automaticamente. Per ulteriori informazioni, vedere Monitoraggio e diagnosi dell'importazione eterogenea.
Argomento padre: Importa dati utilizzando DBMS_CLOUD_IMPORT
Elimina un task di importazione
Descrive i passi per eliminare un task di importazione.
Una volta completata l'importazione e non più necessaria, è possibile rimuovere il task di importazione. L'eliminazione del task comporta la rimozione del job scheduler, dei database link e dei metadati associati. Non esegue il rollback di oggetti o dati già creati nello schema di destinazione e può lasciare una tabella in corso caricata parzialmente.
Se si esegue di nuovo l'importazione per lo stesso schema, potrebbe essere necessario eseguire manualmente il cleanup delle tabelle caricate parzialmente. Per identificare le tabelle incomplete, eseguire una query sulle viste del dizionario dati, ad esempio DBA_DATA_IMPORT_TABLE_STATUS, ed esaminare lo stato della tabella prima di eseguire il cleanup.
BEGIN
DBMS_CLOUD_IMPORT.DROP_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/In questo esempio viene eliminato il job di importazione ORCL_IMPORT_JOB. Per ulteriori informazioni, vedere Procedura DROP_IMPORT_TASK.
Argomento padre: Importa dati utilizzando DBMS_CLOUD_IMPORT
Monitoraggio e diagnosi dell'importazione eterogenea
Per diagnosticare i problemi e monitorare l'avanzamento delle operazioni di importazione dei dati, è possibile eseguire una query sulle viste del dizionario dati riportate di seguito. Queste viste forniscono informazioni dettagliate sullo stato dei task, sull'avanzamento dell'esecuzione, sulle operazioni parallele e sugli oggetti correlati.
| Nome vista | Descrizione |
|---|---|
| Vista DBA_DATA_IMPORT_TASK_STATUS | Visualizza lo stato di ogni tabella all'interno di un task di importazione, inclusi gli eventuali errori rilevati durante l'elaborazione. |
| Vista DBA_DATA_IMPORT_TABLE_STATUS | Fornisce dettagli generali a livello di task, incluse informazioni sull'avanzamento, ad esempio il numero di tabelle elaborate, caricate e completate correttamente. |
Argomento padre: Migrazione dei dati con DBMS_CLOUD_IMPORT