Skip to main content

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

Metadata

Release files for tap-oracle-godzilla 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tap-oracle-godzilla 0.1.0
File Size Uploaded Provenance
tap_oracle_godzilla-0.1.0.tar.gz 18.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tap-oracle-godzilla 0.1.0
File Interpreter ABI Platform
tap_oracle_godzilla-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / tap_oracle_godzilla-0.1.0.tar.gz

Download URL tap_oracle_godzilla-0.1.0.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
292808cbc4fc7d7d56587d225bc4b49f4c3d8bf1477a4942c6938e91231456c8
BLAKE2b-256 checksum
How to use checksums
c96b77f6d7415c359f2436a62e7a71886255b1baa14145c52c795dec31f7a58e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Release files / tap_oracle_godzilla-0.1.0-py3-none-any.whl

Download URL tap_oracle_godzilla-0.1.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00f02b9176d248e6e11eace17ee0ade5e632fc99f630208bf50d849eeb1a43cc
BLAKE2b-256 checksum
How to use checksums
f92ba13352ed78ea6923568e6f8a456f5aa6392c5856c96a7419507cf5da3f82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.12

Security for tap-oracle-godzilla 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page