Oracle to PostgreSQL Migration Assessment - How to Prepare Your Upload

This tool accepts any clean Oracle SQL dump that contains PACKAGE, PACKAGE BODY, PROCEDURE, or FUNCTION code. There is no strict format — if the dump contains real Oracle PL/SQL code line by line, the analyser will process it correctly.

Download demo data (SQL package)
https://orapgcalc.brivs.lv/download/demo-data
A small verification window will open. Please verify to start the download. The window closes automatically.

Uploaded .zip files are processed entirely in RAM and are never written to disk. They are automatically deleted immediately after the report is generated.


1. Extract PL/SQL Source Code From Oracle

Run the following SQL query to retrieve all PL/SQL objects:

SELECT
    (CASE WHEN line = 1 THEN 'CREATE OR REPLACE ' || text ELSE text END) AS code_line
FROM all_source
WHERE owner = 'your_schema_owner'
  AND type IN ('PROCEDURE', 'FUNCTION', 'PACKAGE', 'PACKAGE BODY','TRIGGER')
ORDER BY name, type, line;

This ensures each object begins with CREATE OR REPLACE, matching PostgreSQL and migration tool expectations.


2. Export Code as Raw Text (.sql)

Your goal is to produce a clean SQL text file — no INSERTs, no CSV headers.

DBeaver (Recommended)

  1. Run the query and make sure the result grid contains a single column: CODE_LINE.
  2. Best option (most predictable): Advanced Copy
    • Select all cells in the CODE_LINE column.
    • Right-click → Advanced Copy (or press Ctrl+Shift+C).
    • Choose output format TXT (values only), set Row delimiter to LF (\n).
    • Disable column names / row numbers (values only).
    • Paste into a new file and save as dump.sql (UTF-8).
  3. Alternative: Export Data
    • Right-click the results grid → Export Data.
    • Select format TXT (preferred over CSV for this use-case).
    • In formatting/settings: set Print header = false and Show header delimiter = false.
    • Export only the CODE_LINE column.
    • Save as dump.sql (UTF-8).

Oracle SQL Developer (Script Output + SPOOL)

  1. Open a SQL Worksheet and switch to Script Output execution (run as script with F5, not Ctrl+Enter).
  2. Run the following script (adjust the output path and schema owner):
-- Make output "flat" (no headers, no paging)
SET HEADING OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SET VERIFY OFF
SET ECHO OFF
SET TRIMSPOOL ON
SET LINESIZE 32767
SET LONG 1000000
SET LONGCHUNKSIZE 32767

SPOOL C:\temp\dump.sql

SELECT
    (CASE WHEN line = 1 THEN 'CREATE OR REPLACE ' || text ELSE text END) AS code_line
FROM all_source
WHERE owner = 'YOUR_SCHEMA_OWNER'
  AND type IN ('PROCEDURE', 'FUNCTION', 'PACKAGE', 'PACKAGE BODY')
ORDER BY name, type, line;

SPOOL OFF

After spooling, zip dump.sql and upload the .zip file.


3. Zip & Upload

Compress the SQL file into a .zip archive and upload it under “1. Upload ZIP” on the main page.

!

Notice