Skip to main content

Singer tap for tap-oracle, built with the Meltano Singer SDK.

Project description

tap-oracle

Singer tap for Oracle, built with the Meltano Singer SDK.

This connector is intended as a modern replacement path for legacy Oracle taps. It supports Python 3.10+ and uses oracledb with SQLAlchemy reflection.

Features

  • Automatic stream discovery from Oracle schemas and tables.
  • Oracle connection support with either service_name (preferred) or sid.
  • Schema and table filtering for faster discovery on large instances.
  • Oracle-aware type mapping for common types such as NUMBER, CLOB, and BLOB.
  • Compatible with Meltano pipelines and standard Singer targets.

Requirements

  • Python 3.10+
  • Network access to Oracle listener (VPN may be required in corporate networks)
  • Oracle credentials with read access to the target schema(s)

Installation

Local editable install (recommended for development)

pip install -e .

Verify installation

tap-oracle --about

Configuration

Required settings

  • host: Oracle hostname or IP
  • user: Oracle username
  • password: Oracle password
  • one of:
    • service_name (recommended)
    • sid (legacy)

Optional settings

  • port (default: 1521)
  • filter_schemas (comma-separated schemas)
  • filter_tables (array of SCHEMA-TABLE strings)
  • cursor_array_size (default: 1000)
  • thick_mode (default: false)
  • https_proxy
  • start_date

Environment variable names

  • TAP_ORACLE_HOST
  • TAP_ORACLE_PORT
  • TAP_ORACLE_USER
  • TAP_ORACLE_PASSWORD
  • TAP_ORACLE_SERVICE_NAME
  • TAP_ORACLE_SID
  • TAP_ORACLE_FILTER_SCHEMAS
  • TAP_ORACLE_FILTER_TABLES
  • TAP_ORACLE_CURSOR_ARRAY_SIZE
  • TAP_ORACLE_THICK_MODE

Usage

Discover catalog

tap-oracle --config config.json --discover > catalog.json

Run sync

tap-oracle --config config.json --catalog catalog.json

Meltano usage

Add this extractor from a local checkout:

meltano add extractor tap-oracle --custom

Example project-level invocation:

meltano invoke tap-oracle --about
meltano invoke tap-oracle --discover > catalog.json

Select schema streams:

meltano select tap-oracle "nightly_platerforme-*" "*"

Run pipeline with a target loader:

meltano run tap-oracle target-postgres

Oracle notes

  • If you see DPY-6003 / ORA-12505, verify whether your database expects service_name or sid.
  • service_name is preferred and supported explicitly by this connector.
  • Warnings for unknown Oracle-specific types (for example XMLTYPE, SDO_GEOMETRY) during discovery are usually non-fatal.

Development

Install development dependencies:

uv sync

Run tests:

uv run pytest

Run type checks:

uv run mypy tap_oracle tests

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tap_oracle_godzilla-0.1.0.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tap_oracle_godzilla-0.1.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file tap_oracle_godzilla-0.1.0.tar.gz.

File metadata

  • Download URL: tap_oracle_godzilla-0.1.0.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for tap_oracle_godzilla-0.1.0.tar.gz
Algorithm Hash digest
SHA256 292808cbc4fc7d7d56587d225bc4b49f4c3d8bf1477a4942c6938e91231456c8
MD5 c8110cb7af43c73990795648a639381f
BLAKE2b-256 c96b77f6d7415c359f2436a62e7a71886255b1baa14145c52c795dec31f7a58e

See more details on using hashes here.

File details

Details for the file tap_oracle_godzilla-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tap_oracle_godzilla-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00f02b9176d248e6e11eace17ee0ade5e632fc99f630208bf50d849eeb1a43cc
MD5 40f21e3313e515167952b788bfc5b3fd
BLAKE2b-256 f92ba13352ed78ea6923568e6f8a456f5aa6392c5856c96a7419507cf5da3f82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page