Al migrar datos desde una base de datos de origen de Oracle, Relational Migrator comprueba automáticamente si la base de datos necesita cambios de configuración y genera un script SQL para implementarlos. Solicite a un administrador de bases de datos (DBA) que revise el 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 está migrando desde una instancia de Oracle 12c, debe ejecutar 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 la base de datos contenedora/maestra (CDB). Para obtener más información sobre cada arquitectura, consulte Descripción general de bases de datos de contenedores y 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:
Configurar permisos de usuario
El siguiente código crea una nueva cuenta de servicio de Oracle para que Relational Migrator se conecte a la instancia de Oracle. Como alternativa, puede usar una cuenta de servicio de Oracle existente para conectarse a Relational Migrator con los permisos adecuados.
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 propietaria de las tablas en el trabajo 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á migrando una base de datos de contenedor multiinquilino como usuario común, agregue
CONTAINER=ALLal otorgar permisos. Por ejemplo:GRANT CREATE SESSION TO <user> CONTAINER=ALL; Si la cuenta de servicio es el propietario 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 Debezium de código abierto para capturar los cambios a nivel de fila. Para más información, consulte Debezium Oracle.
Para obtener detalles sobre cómo habilitar el registro de archivo, consulte Administrar registros de rehacer archivados.
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.