Cuando migras datos desde una base de datos fuente Oracle, Relational Migrator verifica automáticamente los cambios necesarios de configuración en tu base de datos y genera un script SQL para implementarlos. Solicita que un Administrador de Bases de Datos (DBA) haga una revisión del script y ejecute los comandos en el servidor de bases de datos. Esta página proporciona más detalles sobre los pasos de configuración necesarios.
Para obtener detalles sobre las versiones compatibles de Oracle, consulte Bases de datos y versiones compatibles.
Acerca de esta tarea
Si migras de una instancia de Oracle 12c, debes ejecutar los comandos como el rol SYSDBA.
Oracle 12c introdujo el concepto de base de datos conectable (PDB). Algunos comandos se pueden ejecutar en una PDB, mientras que comandos como habilitar...
ARCHIVELOGdebe ejecutarse en el contenedor/base de datos principal (CDB). Para obtener detalles sobre cada arquitectura, consulta Descripción general de las bases de datos de contenedores y las bases de datos conectables.Algunos comandos difieren según si la base de datos es monoinquilino o multiinquilino. En una base de datos multiinquilino, los permisos deben incluir el sufijo
CONTAINER=ALL. Para comprobar si la base de datos es multiinquilino, ejecute la siguiente consulta SQL:SELECT cdb AS is_multitenant FROM v$database;
Pasos
Para configurar su instancia de Oracle para trabajos de instantáneas:
Configura los permisos de usuario
El siguiente código crea una nueva cuenta de servicio Oracle para que Relational Migrator se conecte a la instancia de Oracle. Alternativamente, puede utilizar una cuenta de servicio Oracle existente para conectarse a Relational Migrator con los permisos correspondientes.
Tip
Para migrar datos desde una base de datos de contenedor multiinquilino, cree espacios de tabla y un usuario común.
Crear una cuenta de servicio:
CREATE USER <user> IDENTIFIED BY "<password>"; Confirme que la cuenta de servicio sea la propietaria de las tablas en la tarea de migración.
Los permisos necesarios dependen de si la cuenta de servicio es propietaria de las tablas utilizadas en el trabajo de migración. Para comprobar la propiedad de las tablas, ejecute la siguiente consulta:
SELECT TABLE_NAME, OWNER FROM ALL_TABLES WHERE TABLE_NAME ='<table_name>' ORDER BY OWNER, TABLE_NAME; Otorgar permisos a la cuenta de servicio.
Importante
Si estás migrando una base de datos de contenedores multitenant como usuario común, añade
CONTAINER=ALLal otorgar permisos. Por ejemplo:GRANT CREATE SESSION TO <user> CONTAINER=ALL; Si la cuenta de servicio es la propietaria de la tabla:
GRANT CREATE SESSION TO <user>; GRANT SELECT ON V_$DATABASE TO <user>; Si la cuenta de servicio no es el propietario de la tabla:
GRANT CREATE SESSION TO <user>; GRANT SELECT_CATALOG_ROLE TO <user>; GRANT SELECT ANY TABLE TO <user>; GRANT SELECT ON V_$DATABASE TO <user>; GRANT FLASHBACK ANY TABLE TO <user>;
Obtén más información
Relational Migrator se basa en el conector de código abierto Debezium para capturar cambios a nivel de filas. Para obtener más detalles, consulta Debezium Oracle
Para obtener detalles sobre cómo habilitar el registro de ficheros, consulte Gestión de registros archivados de Redo.
Para obtener información adicional sobre solución de problemas y depuración, consulte la publicación del blog de ayuda de Oracle de Debezium.