Migration

The Oracle Migration Questions We Hear Most (Answered)

Rakesh Mamidala·Founder & Lead Engineer··6 min read

The Questions, Distilled

After a stretch of deep technical posts, here’s the plain-language round-up: the seven questions that come up in almost every Oracle→PostgreSQL conversation, each with a straight answer and a pointer to go deeper. If you’re weighing a migration, start here.

1. How long will it really take?

Less than you fear on data, more than you expect on code. Bulk data movement is fast and parallel; the timeline is driven by your PL/SQL surface and the count of hard constructs, not row count. The honest way to estimate is to inventory first — see the honest timeline formula and how to assess before you start.

2. Will my PL/SQL convert automatically?

Most of it — roughly 95% of common PL/SQL transpiles to PL/pgSQL automatically; budget review time for the rest (packages holding state, autonomous transactions, dynamic SQL). The details are in the PL/SQL→PL/pgSQL guide and how we handle Oracle packages.

3. What happens to XMLType, CLOBs and BLOBs?

CLOB/NCLOB → text, BLOB → bytea, and XMLType → PostgreSQL’s native xml type (never jsonb — that’s a silent footgun). LOB-heavy tables also need care on read batching. Full playbook: migrating Oracle LOB and XML columns.

4. How do you PROVE no data was lost?

Row counts aren’t proof. We compute per-partition cryptographic fingerprints on both sides and compare them, emitting a saved proof artifact — so “every row arrived correctly” is a mathematical statement, not a hope. See Merkle validation and data validation in migrations.

5. Can we cut over with near-zero downtime?

Yes — replicate changes into PostgreSQL, let it catch up, then flip the application in seconds. From Oracle that’s LogMiner-based CDC; the mechanics are in zero-downtime migrations with CDC and what happens when a migration crashes halfway.

6. What breaks that teams don’t see coming?

The quiet ones: Oracle’s treatment of NULLs and empty strings, DATE vs TIMESTAMP semantics, and case-folding of identifiers. The catalogue of them is in the biggest Oracle migration mistakes.

7. Do we have to rewrite the application?

Rarely a rewrite — but expect targeted changes: Oracle-specific SQL (ROWNUM, NVL, CONNECT BY), sequence handling, and driver/dialect settings. A good assessment turns these into a known list rather than a cutover surprise. Start from what makes our approach different and the survival guide for Oracle DBAs.

Turn the questions into a plan

DBMigrateAIPro answers most of these for your database automatically — an assessment report, a dependency-aware plan, and validation you can prove. Free for Year 1.