Ora2Pg vs DBConvert Streams

Ora2Pg is an open-source Perl CLI tool that migrates Oracle and MySQL databases to PostgreSQL, including PL/SQL conversion.

DBConvert Streams is a UI-driven bidirectional MySQL ↔ PostgreSQL migration tool with validation and continuous CDC.

Quick answer

Choose by job

Choose Ora2Pg if

  • The source is Oracle.
  • You need PL/SQL converted to PL/pgSQL.
  • You want a free OSS CLI tool with an assessment report.
  • PostgreSQL is the only target.

Choose DBConvert Streams if

  • The migration is MySQL ↔ PostgreSQL (either direction).
  • You need a UI and REST API around the migration.
  • You need resumable load, parallel writes, and validation built in.
  • You need continuous CDC after migration.

At a glance

Side-by-side facts

Aspect
Ora2Pg
DBConvert Streams
License and price
Open-source (GPL), free
Proprietary. Free IDE tier. Paid migration and CDC runs.
Source engines
Oracle, MySQL
MySQL, PostgreSQL
Target engine
PostgreSQL only
PostgreSQL or MySQL (bidirectional)
PL/SQL → PL/pgSQL conversion
Yes
No
Migration assessment report
Yes (object counts and complexity)
Schema diff and validation views
Interface
CLI + ora2pg.conf
UI + REST API
Resumable load on failure
Limited (per-table re-runs)
Yes
Continuous CDC
No
Built-in log-based CDC for MySQL and PostgreSQL
Federated / cross-source SQL
No
Query MySQL, PostgreSQL, Parquet, CSV, and S3 in one statement
Deployment
CLI binary on Linux, macOS, Windows (Perl)
Desktop app + Docker self-hosting

Where Ora2Pg wins

Migrate from Oracle at all

Oracle → PostgreSQL is the tool's home turf: schema, data, indexes, constraints, views. DBConvert does not migrate from Oracle.

Translate PL/SQL into PL/pgSQL

Procedural code conversion with manual fixup — out of scope for DBConvert entirely.

Stay free and open source

GPL-licensed, maintained by Gilles Darold, driven from the CLI with an assessment report based on object counts and complexity.

Where DBConvert Streams wins

Run the migration from a UI and REST API

Configuration, table mapping, and monitoring live in the interface instead of ora2pg.conf, and everything is scriptable over one API.

Resume inside a table after failure

Checkpoints per primary-key range let eligible tables resume mid-load. Ora2Pg re-runs whole tables.

Go both directions

MySQL ↔ PostgreSQL is bidirectional. Ora2Pg targets PostgreSQL only.

Keep the target in sync after the load

Log-based CDC continues after cutover. Ora2Pg is one-shot batch migration.

Workflow

Replace a one-shot CLI conversion with a migration that keeps running

  1. 1Drive schema and data migration MySQL ↔ PostgreSQL from the UI.
  2. 2Load with resumable checkpoints and parallel writes.
  3. 3Check validation views and schema diff before cutover.
  4. 4Turn on continuous log-based CDC after the cutover.

Different scopes — Ora2Pg owns Oracle source; DBConvert owns MySQL ↔ PostgreSQL with sync.

FAQ

Frequently asked questions

Can DBConvert Streams replace Ora2Pg?

For MySQL ↔ PostgreSQL migration, yes — and DBConvert continues with CDC after the load. For Oracle source or PL/SQL conversion, no — DBConvert does not migrate from Oracle and does not rewrite stored procedures.

Does DBConvert support Oracle as a source?

No. Sources are MySQL and PostgreSQL (plus files and S3). Ora2Pg is the standard tool for Oracle → PostgreSQL.

What about PL/SQL → PL/pgSQL?

Out of scope for DBConvert. Procedural code conversion is handled by Ora2Pg (and AWS SCT). DBConvert focuses on schema, data, and CDC.

How does Ora2Pg's resumable behavior compare?

Ora2Pg can re-run individual tables after a failure but does not checkpoint progress within a table. DBConvert checkpoints per primary-key range and resumes within a load for eligible tables (single integer PK, upsert mode, supported source/target engines); other tables run plain non-resumable copy in the same job.

Does Ora2Pg do CDC?

No. Ora2Pg is one-shot batch migration. Keeping source and target aligned afterwards is up to other tooling. DBConvert continues with log-based CDC reading the binlog or WAL.

When does each clearly win?

Ora2Pg wins when the source is Oracle, PL/SQL conversion matters, and free OSS is required. DBConvert wins when the engines are MySQL and PostgreSQL and the team wants UI-driven migration plus CDC in one product.