Oracle Database to Teradata: How to Move Your Data

Move Oracle Database into Teradata with Airbyte. Choosing between the two Oracle connectors, LogMiner's 30 character limit, and why Teradata SSL is off by default.

Summarize with AI:

Moving Oracle Database to Teradata is a pipeline between two systems that have both been running longer than most of the stack around them, and it usually exists for one of two reasons: consolidating Oracle data into an established Teradata warehouse, or migrating away from one of them.

This guide covers the managed path with Airbyte. Two decisions carry it, and neither is about moving rows. On the Oracle side you choose between two connectors with genuinely different capabilities, and on the Teradata side there is a default that is more permissive than most people expect.

Oracle Database to Teradata at a glance:

CapabilitySupportedWhat it means for this pipeline
Standard Oracle sourceCursor-basedDeletes are never captured, so Teradata keeps removed rows
Enterprise Oracle sourceCDC via LogMinerNeeds supplemental logging and a substantial grant list
LogMiner name length30 charactersLonger table or column names are silently ignored by CDC
Teradata SSLOff by defaultEnable it explicitly and then choose one of six modes
Default schemaairbyte_tdSet it deliberately to match your Vantage conventions

Why move data from Oracle Database to Teradata?

Two situations account for most of these pipelines.

The first is consolidation. Teradata is already the analytical platform, the reporting layer is built on it, and Oracle holds an operational system that needs to join everything else. Rather than teaching every reporting tool to speak to two databases, you replicate one into the other.

The second is separation of load. Oracle is serving an application, and analytical queries against it compete with transactions. Moving the data means analysts stop being a performance risk to production, which on an Oracle instance with licensing tied to capacity is a commercial argument as much as a technical one.

What do you need before you start?

Two of these are decisions rather than credentials, and both should be made before anyone opens Airbyte:

A decision about deletes. The standard Oracle source replicates using a cursor and cannot observe a deletion, so a row deleted in Oracle stays in Teradata indefinitely with nothing reporting the discrepancy. Log-based change data capture is on the Enterprise Oracle source.

DBA time, if you want CDC. Enterprise CDC needs supplemental logging plus instance-level settings, and a grant list covering flashback access, select on any table, the catalog roles, select on any transaction, log mining, and rights to create tables and sequences and lock tables. On a multitenant container database each grant needs the container clause.

An identifier length audit. LogMiner ignores tables and columns whose names exceed 30 characters, silently. Run this check before the first sync, not after a table has quietly stopped updating.

Teradata credentials and a logon mechanism. A host and a user with permission to create tables and write data. TD2 is the default logon mechanism, with LDAP and BROWSER also supported, and which one you use is usually already decided by whoever administers the Vantage instance.

If your organisation restricts inbound traffic by IP, add the Airbyte Cloud IP addresses to the allow list on both systems before you begin.

How do you build an Oracle to Teradata pipeline in Airbyte?

Step 1: Prepare Oracle and audit your identifiers

Create a read-only Oracle user, apply the CDC grants if you are using the Enterprise connector, and check your table and column name lengths against the 30 character limit. Old Oracle schemas are under it by construction, since Oracle capped identifiers there for most of its history. Anything built on 12.2 or later can exceed it, and descriptive naming conventions do so easily.

Step 2: Configure the Oracle source

Click Sources in the left navigation, then New Source, and select the Oracle connector you decided on, following adding a source. Supply the host, port, service name or SID, schema and credentials, and pick an encryption method. Native network encryption and TLS with certificate verification are both available; unencrypted is offered only on self-managed Airbyte and is not the option to reach for simply because it works.

Step 3: Configure the Teradata destination

Click Destinations, then New Destination, and select Teradata, following adding a destination. Supply the host, credentials and logon mechanism. Then set the schema name rather than accepting the default of airbyte_td, because on a Vantage instance with established conventions an unexpected schema appearing is the sort of thing that generates a ticket.

Step 4: Turn on SSL, then create the connection

Encryption on the Teradata destination is off by default. Enable it and choose a mode, then click Connections, New connection, and select tables with a sync mode per stream. Run against a subset first and compare column types and a sample of values against Oracle before extending to the whole schema.

Airbyte adds its own metadata columns to each table alongside your data, including a generation identifier that increments each time you run a refresh. On a Teradata instance that is useful for telling reload attempts apart, and worth mentioning to whoever reviews the schema.

Why is the encryption default worth pausing on?

Because SSL is off unless you enable it, and nothing warns you at setup time. You turn it on explicitly and then choose from six modes, ranging from disabling encryption entirely through to verifying the server certificate fully.

Two of those modes deserve particular care. Prefer and allow both permit an unencrypted connection under some conditions, which is rarely what anyone actually intends when they go to the trouble of enabling SSL. If you are moving data across a network you do not control, choose require at minimum, and one of the verifying modes if you have the certificates.

This matters more on this pipeline than on most, because Oracle and Teradata between them tend to hold the data an organisation is most careful about. Worth a line in your design document rather than a setting somebody ticks.

How do Oracle types land in Teradata?

Better than you might fear, because both are mature relational databases with rich numeric types, and neither is trying to squeeze a warehouse into a row-oriented store. The awkward cases are the same ones that are always awkward: Oracle's NUMBER declared without precision or scale, and large object and character types where size ceilings and trailing space behaviour differ.

For financial columns declare fixed-point decimal with explicit precision yourself rather than accepting what the pipeline infers. The columns actually worth inspecting are the ones nobody thought about: a NUMBER holding a ratio, a measurement or a score, where precision loss throws no error and surfaces later as a small unexplained variance in a report.

Oracle's DATE carries a time component, which surprises anyone assuming it behaves like a plain date, so check any column a report groups by day. And note that LogMiner does not support every Oracle type: user-defined types such as a VARRAY cannot be replicated through CDC at all, so schemas leaning on object types need checking before you commit to a log-based design.

Frequently asked questions

Is my Teradata connection encrypted by default?

No. SSL is off unless you enable it and select a mode. Use require or one of the verifying modes for anything crossing a network you do not control.

Why is one of my Oracle tables never updating in Teradata?

Check the identifier length. LogMiner ignores tables and columns whose names exceed 30 characters, without raising an error.

Does the standard Oracle source support CDC?

No. Log-based change data capture is on the Enterprise Oracle source. The standard connector uses a cursor and cannot capture deletes.

Why did tables appear in an unfamiliar schema?

The destination writes to a default schema when the source does not specify a namespace. Set it explicitly to match your Vantage conventions.

Can I do this without writing code?

The Airbyte setup is entirely UI-driven. The Oracle side needs a DBA to apply the CDC grants and supplemental logging if you choose the Enterprise connector, which is configuration rather than code.

Get your Oracle data into Teradata

Decide whether you need deletes, because that chooses your connector and brings a DBA into the project. Audit identifier lengths, turn SSL on and pick a mode that actually encrypts, set the schema name to something your DBA recognises, and verify column types on a subset before extending.

Airbyte's connector catalog includes 600+ pre-built connectors, so the same Oracle source can feed a lakehouse or a search index alongside Teradata. For file data landing in the same warehouse, see Parquet File to Teradata, and for Oracle into a relational destination, Oracle Database to MySQL.

Start syncing now →

Integrate with 600+ apps using Airbyte

Move data from 600+ sources into warehouses, lakes, and beyond. Set up pipelines in minutes with pre-built connectors and the Connector Builder.