Conexión Fuente Oracle
Requisitos Previos
Antes de configurar la conexión de origen Oracle en Crestone, asegúrese de contar con lo siguiente:
Requisito Principal: Una instancia activa y accesible de Oracle Database, versión 12.1 (12c Release 1) o superior, alojada localmente, de forma remota o mediante un proveedor en la nube (como Oracle Cloud Infrastructure, Amazon RDS for Oracle o Azure). Oracle 11g y versiones anteriores no son compatibles.
Información Requerida:
| Campo | Descripción |
|---|---|
| Server / Host | Dirección IP o nombre de host del servidor Oracle (ej. 192.168.1.100 o oracle.example.com) |
| Port | Puerto TCP donde escucha Oracle. El valor predeterminado es 1521. |
| Service Name | Nombre del servicio Oracle que identifica la base de datos (ej. FREEPDB1, XE, ORCL). Esto no es el SID. |
| Username | Usuario con privilegios suficientes para leer datos (ej. crestone) |
| Password | Contraseña del usuario especificado |
Nota: Crestone se conecta a Oracle utilizando el Service Name (no el SID). Si solo conoce el SID, consulte con su DBA para obtener el nombre del servicio correspondiente, o ejecute
lsnrctl statusen el servidor de la base de datos para listar los servicios disponibles.
Consejo: Si se está conectando a una instancia de Oracle Free (pruebas locales), use los siguientes valores:
- Server:
localhost- Port:
1521- Service Name:
FREEPDB1- Username / Password: credenciales del usuario del esquema (ej.
crestone/crestone123)
Paso de Pre-Verificación
Antes de configurar la conexión en Crestone, recomendamos verificar sus credenciales utilizando cualquier cliente Oracle de su preferencia (ej. SQL Developer, DBeaver, SQLcl). Esto asegura que las credenciales sean correctas y que el servidor sea accesible antes de proceder con la configuración.
Pasos de Configuración
Siga estos pasos para crear una nueva conexión de origen Oracle en Crestone:
-
Navegue a Connections en la barra de navegación superior.
-
Seleccione la pestaña Source.
-
Haga clic en el botón + para crear una nueva conexión.
-
Complete el campo Connection Name con un nombre descriptivo (ej.
Mi Fuente Oracle). -
En el menú desplegable Source Type, seleccione Oracle.
-
Complete el formulario de credenciales con los campos requeridos:
- Server — host o dirección IP de su instancia Oracle
- Port — predeterminado
1521 - Service Name — nombre del servicio Oracle que identifica la base de datos
- Username — usuario de la base de datos
- Password — contraseña del usuario
-
Haga clic en Test Connection para validar que Crestone pueda comunicarse exitosamente con la base de datos.
-
Una vez superada la prueba, haga clic en Create Source para guardar la conexión.
Edición de una Conexión Existente
Para actualizar las credenciales de una conexión de origen Oracle existente:
- Navegue a Connections y localice su origen Oracle.
- Haga clic en Edit.
- Modifique los campos deseados en el formulario de credenciales.
- Haga clic en Test Connection para verificar las nuevas credenciales.
- Haga clic en Confirm para guardar los cambios.
Uso de Oracle como Fuente en un Nodo de Extracción
Una vez creada la conexión, puede utilizarla como origen de un Extraction Node:
- Abra o cree un Extraction Node y diríjase a la pestaña Source.
- En Select Source, elija su conexión Oracle.
- En Select Schema, elija el esquema (usuario de Oracle) que contiene la tabla de destino.
- Elija su modo de extracción:
Modo Visual
- En Select Table, elija la tabla desde la que extraerá los datos.
- En Maps Fields, seleccione las columnas que desea incluir en la extracción. Puede seleccionar todas o un subconjunto.
- Opcionalmente, configure una cláusula WHERE para filtrar filas al momento de la extracción.
Modo SQL Script
- Active la casilla de alternancia SQL Script mode.
- Escriba su consulta SQL personalizada en el editor. Puede utilizar
JOIN,WHERE, subconsultas y cualquier sintaxis válida de Oracle SQL.
Nota: El modo SQL Script es útil cuando necesita combinar múltiples tablas, aplicar transformaciones o filtrar datos con condiciones complejas antes de cargarlos al destino.
- Continúe a la pestaña Destination para configurar hacia dónde se enviarán los datos extraídos.
Manejo de Tipos de Datos
Crestone extrae datos de Oracle mediante python-oracledb en modo thin (sin requerir Oracle Instant Client). Los tipos estándar (NUMBER, FLOAT, DATE, TIMESTAMP) se conservan tal cual. Las columnas con tipos complejos como CLOB, BLOB, RAW, XMLTYPE o tipos definidos por el usuario se convierten automáticamente a texto durante la extracción.
Problemas Frecuentes
| Problema | Causa Posible | Solución |
|---|---|---|
| Tiempo de espera agotado en la conexión | Firewall bloqueando el puerto 1521 | Permita conexiones entrantes en el puerto 1521 desde la IP del servidor de Crestone |
| Fallo de autenticación | Nombre de usuario o contraseña incorrectos | Verifique primero las credenciales en su cliente Oracle |
| Service Name no encontrado | Nombre de servicio incorrecto | Utilice lsnrctl status en el servidor de base de datos para listar los servicios disponibles |
| ORA-01017: invalid username/password | Credenciales incorrectas o usuario bloqueado | Verifique las credenciales y asegúrese de que la cuenta de usuario esté activa |
| No hay tablas visibles | El usuario carece de privilegios sobre el esquema | Otorgue SELECT en las tablas de destino al usuario configurado |
| ORA-00942: table or view does not exist | El usuario no puede ver la tabla | Otorgue SELECT sobre la tabla o consulte ALL_TABLES para verificar la visibilidad |
Permisos Requeridos
El usuario de base de datos configurado en Crestone requiere como mínimo los siguientes privilegios en la base de datos de origen:
-- Permitir conexión (otorgado de forma predeterminada al crear el usuario)
GRANT CREATE SESSION TO crestone;
-- Permitir lectura de datos de un esquema específico
GRANT SELECT ON owner_schema.table_name TO crestone;
-- O conceder SELECT en todas las tablas de un esquema (ejecutar como propietario del esquema)
BEGIN
FOR t IN (SELECT table_name FROM all_tables WHERE owner = 'OWNER_SCHEMA') LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON OWNER_SCHEMA.' || t.table_name || ' TO crestone';
END LOOP;
END;
/Consejo: Si el usuario de Oracle configurado en Crestone es el propietario del esquema (es decir, el nombre de usuario y el nombre del esquema son idénticos), ya cuenta con acceso completo a sus propias tablas y no se requieren concesiones adicionales.