Migración de datos con DBMS_CLOUD_IMPORT
DBMS_CLOUD_IMPORT permite importar datos de bases de datos de Oracle y no de Oracle a Oracle Autonomous AI Database mediante un enfoque simple y coherente.
- Migración de datos con DBMS_CLOUD_IMPORT
Al trabajar en varios sistemas de bases de datos, el movimiento de datos puede ser complejo debido a las diferencias en tecnologías, formatos y herramientas.DBMS_CLOUD_IMPORTsimplifica este proceso al proporcionar un enfoque unificado para importar datos entre plataformas, eliminando la necesidad de gestionar varias herramientas o flujos de trabajo. - Requisitos
Muestra los requisitos para realizar la importación en la base de datos de IA autónoma. - Importación de datos mediante DBMS_CLOUD_IMPORT
Describe cómo importar datos a la base de datos de IA autónoma medianteDBMS_CLOUD_IMPORT. - Supervisión y diagnóstico de importación heterogénea
Para diagnosticar problemas y supervisar el progreso de las operaciones de importación de datos, puede consultar las siguientes vistas del diccionario de datos. Estas vistas proporcionan información detallada sobre el estado de la tarea, el progreso de la ejecución, las operaciones en paralelo y los objetos relacionados.
Tema principal: Migración a una base de datos de IA autónoma
Migración de datos con DBMS_CLOUD_IMPORT
Cuando se trabaja en varios sistemas de bases de datos, el movimiento de datos puede ser complejo debido a las diferencias en tecnologías, formatos y herramientas. DBMS_CLOUD_IMPORT simplifica este proceso al proporcionar un enfoque unificado para importar datos entre plataformas, eliminando la necesidad de gestionar varias herramientas o flujos de trabajo.
DBMS_CLOUD_IMPORT también admite la transferencia de datos fiable y de alto rendimiento. El proceso de importación utiliza la ejecución en paralelo para mejorar el rendimiento y, si se interrumpe una importación, como durante el mantenimiento o la pérdida de conexión a la base de datos de origen, se reanuda automáticamente desde donde se detuvo, lo que garantiza la finalización sin tener que reiniciar la importación.
Puede importar datos de bases de datos Oracle y bases de datos no Oracle compatibles, incluidas MySQL, PostgreSQL y Amazon Redshift. Para los orígenes de Oracle, se importan tanto los datos como los objetos de base de datos. Para los orígenes que no son de Oracle, la importación se centra en el movimiento de datos con la conversión automática de tipos de datos a formatos compatibles con Oracle.
La capacidad admite la importación de datos flexible. Puede importar una base de datos completa o un subjuego de datos, como esquemas o tablas seleccionados, según sus requisitos. Oracle también proporciona vistas del diccionario de datos para supervisar el progreso y realizar un seguimiento del estado de importación.
Beneficios clave
- Importación de datos unificada entre plataformas: importe datos de bases de datos de Oracle y no de Oracle sin utilizar varias herramientas.
- Transferencia de datos de alto rendimiento: permite mover grandes volúmenes de datos mediante la ejecución en paralelo.
- Resiliencia incorporada: reanude las operaciones de importación automáticamente después de las interrupciones, incluido el mantenimiento o la pérdida de conexión a la base de datos de origen.
- Selección flexible de datos: importe una base de datos completa o un subjuego de datos, incluidos esquemas o tablas específicos.
Puede obtener más información en los siguientes enlaces:
Tema principal: Migración de datos con DBMS_CLOUD_IMPORT
Requisitos
Muestra los requisitos para realizar la importación en la base de datos de IA autónoma.
Antes de iniciar la importación, asegúrese de que se cumplan los siguientes requisitos previos.
-
Debe haber iniciado sesión como usuario
ADMIN. -
Los subprogramas
DBMS_CLOUD_IMPORTacceden a la base de datos origen mediante un enlace de base de datos creado implícitamente como parte de la tarea de importación. Para establecer esta conexión, debe crear un objeto de credencial con las credenciales de la base de datos remota y hacer referencia a él al crear la tarea de importación. Consulte Procedimiento CREATE_CREDENTIAL para obtener más información. -
Para bases de datos de origen que no sean de Oracle, especifique
longtovarchar => 'true'en el parámetrogateway_paramsal llamar aDBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Esto es necesario porque los metadatos de las bases de datos que no son de Oracle constan de columnasLONG. Por ejemplo:gateway_params => JSON_OBJECT('db_type' VALUE <db_type>, 'longtovarchar' VALUE 'true'). -
Asegúrese de que la base de datos especificada por
service_namepuede conectarse al esquema de destino y acceder a él. -
Los trabajos de importación se reanudan desde el punto de interrupción, como después de un evento de mantenimiento planificado o una interrupción inesperada. El procesamiento paralelo y la reanudación automática son compatibles con las bases de datos de origen de Oracle, MySQL, PostgreSQL y Amazon Redshift. Para las bases de datos de origen que no son de Oracle, se necesitan los siguientes requisitos para activar el procesamiento en paralelo y la reanudación automática (pueden aplicarse requisitos adicionales según el tipo de base de datos de origen):
-
La tabla de origen está particionada por rango.
-
Existen estadísticas de histograma para al menos una columna numérica.
-
Existe un índice numérico o una clave primaria.
-
Si no se cumplen estos requisitos, la tabla se copia mediante CREATE TABLE AS SELECT (CTAS). En este caso, no se admite el procesamiento paralelo y, si se interrumpe el trabajo, se reinicia desde el principio de la tabla en lugar de reanudarse desde el punto de interrupción.
Es posible que se necesiten requisitos adicionales para soportar el procesamiento paralelo y la capacidad de reinicio fiable, en función del tipo de base de datos origen. Para obtener detalles, consulte lo siguiente:
- Base de datos de origen de PostgreSQL
- Cree las vistas necesarias en la base de datos PostgreSQL de origen. Para soportar el procesamiento paralelo y la reiniciabilidad fiable al migrar desde PostgreSQL, cree las vistas necesarias en la base de datos de origen. Si las vistas no están presentes, la importación utiliza
CREATE TABLE AS SELECT(CTAS), en ese modo no se soporta el procesamiento paralelo y, si se interrumpe la carga de una tabla, se reinicia desde el principio. Consulte CREATE TABLE AS SELECT para obtener más información. - Puede crear estas vistas mediante los scripts proporcionados por Oracle disponibles en GitHub. Revise y ejecute los scripts en la base de datos PostgreSQL de origen antes de iniciar la importación.
- Cree las vistas necesarias en la base de datos PostgreSQL de origen. Para soportar el procesamiento paralelo y la reiniciabilidad fiable al migrar desde PostgreSQL, cree las vistas necesarias en la base de datos de origen. Si las vistas no están presentes, la importación utiliza
Consulte la documentación de PostgreSQL 18.3 para obtener más información.
- Base de datos de origen de MySQL
-
schema_listno está soportado para los orígenes de MySQL porque MySQL no utiliza esquemas. Al llamar aREATE_IMPORT_TASK, especifique una matriz vacía paraschema_list([]). -
El valor que especifique para
service_namese utiliza como nombre de esquema. -
Cree las vistas necesarias en la base de datos MySQL de origen. Para soportar el procesamiento paralelo y la reiniciabilidad fiable al migrar desde MySQL, cree las vistas necesarias en la base de datos de origen. Si las vistas no están presentes, la importación utiliza
CREATE TABLE AS SELECT (CTAS), en ese modo no se soporta el procesamiento paralelo y, si se interrumpe la carga de una tabla, se reinicia desde el principio. Consulte CREATE TABLE AS SELECT para obtener más información. -
Puede crear estas vistas mediante los scripts proporcionados por Oracle disponibles en Github. Revise y ejecute los scripts en la base de datos MySQL de origen antes de iniciar la importación.
-
Consulte Referencia de MySQL para obtener más información.
- Base de datos de origen de Amazon Redshift
-
Otorgue privilegios para el acceso a enlaces de base de datos. Para leer datos de tablas remotas, debe asegurarse de que la cuenta que utiliza para crear el enlace de base de datos tiene los privilegios necesarios, por ejemplo:
-
GRANT USAGE ON SCHEMA <remote_schema> TO <dblink_user>; -
GRANT SELECT ON <remote_schema>.<remote_table> TO <dblink_user>;
-
-
Garantice la visibilidad de los metadatos para los esquemas que no sean
public. Si el esquema remoto no espublicy la importación necesita consultar metadatos (por ejemplo, mediantepg_table_def), debe incluir el esquema en el enlace de base de datossearch_pathdel usuario, por ejemplo:-
ALTER USER <dblink_user> SET search_path TO <new_value>;
-
-
Consulte la documentación de Amazon Redshift para obtener más información.
Tema principal: Migración de datos con DBMS_CLOUD_IMPORT
Importación de datos usando DBMS_CLOUD_IMPORT
Describe cómo importar datos a la base de datos de IA autónoma mediante DBMS_CLOUD_IMPORT.
Para importar datos a la base de datos de IA autónoma, utilice el procedimiento DBMS_CLOUD_IMPORT.CREATE_IMPORT_TASK. Este procedimiento permite importar datos de bases de datos Oracle y no Oracle soportadas especificando los detalles de conexión necesarios y, opcionalmente, los objetos que se van a importar.
Puede importar una base de datos completa o un subjuego de datos, como esquemas o tablas específicos, especificando parámetros como schema_list o table_list. Al ejecutar este procedimiento, Oracle Database crea un trabajo de Oracle Scheduler para gestionar la tarea de importación. El trabajo utiliza los detalles y las credenciales de conexión proporcionados para crear un enlace de base de datos a la base de datos de origen y transferir datos a la base de datos de IA autónoma.
El comportamiento de la importación depende del tipo de base de datos origen:
- Importaciones de Oracle a Oracle: tanto los datos como los objetos de base de datos se migran. Los índices, las restricciones y las particiones se crean automáticamente en la base de datos de IA autónoma de destino. Si la importación se interrumpe (por ejemplo, debido al mantenimiento), se reanuda desde el punto de interrupción.
- Importaciones desde bases de datos que no son de Oracle: solo se migran los datos. No se crean claves, índices, restricciones y otros objetos dependientes. Las particiones se crean solo si la tabla de origen está particionada por rango. La capacidad de reanudación depende de los requisitos; de lo contrario, la importación se reinicia desde el principio.
Debe ejecutar la importación como usuario ADMIN. La base de datos de IA autónoma de destino permanece disponible durante la importación; sin embargo, Oracle recomienda evitar otras actividades en la base de datos de destino hasta que finalice la importación. Si se interrumpe un trabajo de importación (por ejemplo, debido a un mantenimiento planificado o a una interrupción inesperada), puede reanudarse desde el punto de interrupción o reinicio, según el tipo de base de datos de origen y si se cumplen los requisitos. También puede utilizar suspender y reanudar para pausar temporalmente y, a continuación, continuar con el trabajo.
- Creación de una tarea de importación
Describe los pasos para crear una tarea de importación. - Suspender y reanudar la importación
Describe cómo suspender y reanudar una operación de importación. - Supervisión del progreso de la importación
Después de iniciar una tarea de importación, el trabajo del programador se ejecuta en segundo plano y la base de datos de IA autónoma registra el progreso tanto en el nivel de tarea como en el de tabla. - Borrar una tarea de importación
Describe los pasos para borrar una tarea de importación.
Tema principal: Migración de datos con DBMS_CLOUD_IMPORT
Crear una tarea de importación
Describe los pasos para crear una tarea de importación.
Antes de crear e iniciar la tarea de importación, configure la autenticación en la base de datos de origen. DBMS_CLOUD_IMPORT utiliza un objeto de credencial para conectarse de forma segura al origen (y para crear el enlace de base de datos necesario para la tarea).
Siga estos pasos para crear una tarea de importación:
Puede obtener más información en los siguientes enlaces:
Tema principal: Importación de datos mediante DBMS_CLOUD_IMPORT
Suspender y reanudar importación
Describe cómo suspender y reanudar una operación de importación.
Si es necesario, puede pausar temporalmente la importación mediante el procedimiento SUSPEND_IMPORT_TASK:
BEGIN
DBMS_CLOUD_IMPORT.SUSPEND_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/De esta forma, se detiene el trabajo del programador y se conservan todos los metadatos y el progreso. Consulte Procedimiento SUSPEND_IMPORT_TASK para obtener más información.
Para continuar con la importación, utilice el procedimiento RESUME_IMPORT_TASK:
BEGIN
DBMS_CLOUD_IMPORT.RESUME_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/El trabajo se reanuda desde el último punto de control, omitiendo las tablas completadas y continuando el trabajo restante.
El comportamiento de reanudación depende del tipo de base de datos de origen y de los requisitos. Cuando se cumplen los requisitos para el procesamiento paralelo y la reanudación automática, la importación continúa desde el punto de interrupción. De lo contrario, la importación utiliza
CREATE TABLE AS SELECT (CTAS); en este modo, no se admite el procesamiento paralelo y, si se interrumpe el trabajo, se reinicia desde el principio de la tabla.
Consulte el procedimiento RESUME_IMPORT_TASK para obtener más información.
Tema principal: Importación de datos mediante DBMS_CLOUD_IMPORT
Supervisar progreso de importación
Después de iniciar una tarea de importación, el trabajo del programador se ejecuta en segundo plano y la base de datos de IA autónoma registra el progreso en los niveles de tarea y tabla.
- DBA_DATA_IMPORT_TASK_STATUS: muestra el progreso en el nivel de tarea, incluido el estado general, el porcentaje finalizado y un resumen de la actividad (por ejemplo, tablas actualmente en curso).
- DBA_DATA_IMPORT_TABLE_STATUS: muestra el progreso de nivel de tabla para cada tabla que se importa, incluidos los detalles de estado y error de las tablas con fallos.
Por ejemplo, consulte DBA_DATA_IMPORT_TABLE_STATUS para ver el progreso y los errores a nivel de tabla. La columna STATUS indica el estado actual de cada tabla, como SUCCEEDED, FAILED, LOADING o STOPPED.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'db1_cred',
username => '<username>',
password => '<password>'
);
END;
/La salida es similar a la siguiente:
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 FAILEDCuando finaliza la importación, el trabajo del programador se desactiva automáticamente. Consulte Supervisión y diagnóstico de la importación heterogénea para obtener más información.
Tema principal: Importación de datos mediante DBMS_CLOUD_IMPORT
Borrar una tarea de importación
Describe los pasos para borrar una tarea de importación.
Una vez que la importación se haya completado y ya no sea necesaria, puede eliminar la tarea de importación. Al borrar la tarea, se elimina el trabajo del programador, los enlaces de base de datos y los metadatos asociados. No realiza un rollback de los objetos o datos que ya se han creado en el esquema de destino y puede dejar una tabla en curso parcialmente cargada.
Si vuelve a ejecutar la importación para el mismo esquema, puede que necesite limpiar manualmente las tablas parcialmente cargadas. Para identificar las tablas incompletas, consulte las vistas del diccionario de datos como DBA_DATA_IMPORT_TABLE_STATUS y revise el estado de la tabla antes de realizar la limpieza.
BEGIN
DBMS_CLOUD_IMPORT.DROP_IMPORT_TASK(
task_name => 'orcl_import_job'
);
END;
/En este ejemplo, se suprime el trabajo de importación ORCL_IMPORT_JOB. Consulte Procedimiento DROP_IMPORT_TASK para obtener más información.
Tema principal: Importación de datos mediante DBMS_CLOUD_IMPORT
Control y diagnóstico de importación heterogénea
Para diagnosticar problemas y supervisar el progreso de las operaciones de importación de datos, puede consultar las siguientes vistas del diccionario de datos. Estas vistas proporcionan información detallada sobre el estado de la tarea, el progreso de la ejecución, las operaciones en paralelo y los objetos relacionados.
| Nombre de vista | Descripción |
|---|---|
| DBA_DATA_IMPORT_TASK_STATUS - Vista | Muestra el estado de cada tabla dentro de una tarea de importación, incluidos los errores encontrados durante el procesamiento. |
| Vista DBA_DATA_IMPORT_TABLE_STATUS | Proporciona detalles generales de nivel de tarea, incluida la información de progreso, como el número de tablas procesadas, cargadas y completadas correctamente. |
Tema principal: Migración de datos con DBMS_CLOUD_IMPORT