Conexión Fuente Oracle

Relational databases|11 min de lectura|Actualizado: 18 sept 2026

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:

CampoDescripción
Server / HostDirección IP o nombre de host del servidor Oracle (ej. 192.168.1.100 o oracle.example.com)
PortPuerto TCP donde escucha Oracle. El valor predeterminado es 1521.
Service NameNombre del servicio Oracle que identifica la base de datos (ej. FREEPDB1, XE, ORCL). Esto no es el SID.
UsernameUsuario con privilegios suficientes para leer datos (ej. crestone)
PasswordContraseñ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 status en 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:

  1. Navegue a Connections en la barra de navegación superior.

  2. Seleccione la pestaña Source.

  3. Haga clic en el botón + para crear una nueva conexión.

  4. Complete el campo Connection Name con un nombre descriptivo (ej. Mi Fuente Oracle).

  5. En el menú desplegable Source Type, seleccione Oracle.

  6. 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
  7. Haga clic en Test Connection para validar que Crestone pueda comunicarse exitosamente con la base de datos.

  8. 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:

  1. Navegue a Connections y localice su origen Oracle.
  2. Haga clic en Edit.
  3. Modifique los campos deseados en el formulario de credenciales.
  4. Haga clic en Test Connection para verificar las nuevas credenciales.
  5. 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:

  1. Abra o cree un Extraction Node y diríjase a la pestaña Source.
  2. En Select Source, elija su conexión Oracle.
  3. En Select Schema, elija el esquema (usuario de Oracle) que contiene la tabla de destino.
  4. Elija su modo de extracción:

Modo Visual

  1. En Select Table, elija la tabla desde la que extraerá los datos.
  2. En Maps Fields, seleccione las columnas que desea incluir en la extracción. Puede seleccionar todas o un subconjunto.
  3. Opcionalmente, configure una cláusula WHERE para filtrar filas al momento de la extracción.

Modo SQL Script

  1. Active la casilla de alternancia SQL Script mode.
  2. 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.

  1. 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

ProblemaCausa PosibleSolución
Tiempo de espera agotado en la conexiónFirewall bloqueando el puerto 1521Permita conexiones entrantes en el puerto 1521 desde la IP del servidor de Crestone
Fallo de autenticaciónNombre de usuario o contraseña incorrectosVerifique primero las credenciales en su cliente Oracle
Service Name no encontradoNombre de servicio incorrectoUtilice lsnrctl status en el servidor de base de datos para listar los servicios disponibles
ORA-01017: invalid username/passwordCredenciales incorrectas o usuario bloqueadoVerifique las credenciales y asegúrese de que la cuenta de usuario esté activa
No hay tablas visiblesEl usuario carece de privilegios sobre el esquemaOtorgue SELECT en las tablas de destino al usuario configurado
ORA-00942: table or view does not existEl usuario no puede ver la tablaOtorgue 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:

sql
-- 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.