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) orsid. - Schema and table filtering for faster discovery on large instances.
- Oracle-aware type mapping for common types such as
NUMBER,CLOB, andBLOB. - 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 IPuser: Oracle usernamepassword: Oracle password- one of:
service_name(recommended)sid(legacy)
Optional settings
port(default:1521)filter_schemas(comma-separated schemas)filter_tables(array ofSCHEMA-TABLEstrings)cursor_array_size(default:1000)thick_mode(default:false)https_proxystart_date
Environment variable names
TAP_ORACLE_HOSTTAP_ORACLE_PORTTAP_ORACLE_USERTAP_ORACLE_PASSWORDTAP_ORACLE_SERVICE_NAMETAP_ORACLE_SIDTAP_ORACLE_FILTER_SCHEMASTAP_ORACLE_FILTER_TABLESTAP_ORACLE_CURSOR_ARRAY_SIZETAP_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 expectsservice_nameorsid. service_nameis 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tap_oracle_godzilla-0.1.0.tar.gz | 18.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.