How the work gets done
Use a hybrid target profile that keeps dependencies visible and emits Spark SQL plus Python or PySpark. Each object gets an output that fits the way Databricks runs it.
Split an Oracle workload into Spark SQL for data objects and Python/PySpark for procedural logic on Databricks.
The job to be done
A migration becomes expensive when every object arrives as a separate mystery. Start with the workload as a whole, then sort the result into three useful categories: what can move directly, what needs adaptation, and what deserves a deliberate engineering decision.
For this path, that means understanding Oracle schemas, built-ins, data types, dependencies, packages, procedures, functions, and triggers. and producing Spark SQL for data objects and Python or PySpark for executable logic.. The differences that could affect production behavior are surfaced while the team can still act on them, not after they have become deployment surprises.
Why this path is difficult
Oracle tables can move toward Spark SQL, but packages, procedures, and triggers cannot simply be copied into a Databricks workspace. The migration team must decide which behavior becomes Spark code, which becomes Python, and which needs redesign.
How the work gets done
Use a hybrid target profile that keeps dependencies visible and emits Spark SQL plus Python or PySpark. Each object gets an output that fits the way Databricks runs it.
Where it helps
Use it when an Oracle warehouse is becoming a Databricks data platform and the team needs a repeatable inventory of relational objects, procedural logic, and target gaps.
The payoff
The translation runs up front, then becomes an object inventory, coverage view, complexity signal, and findings list. You see the work before you plan it.
Oracle tables and views are translated into Spark SQL for the Databricks relational plane. Procedures, functions, triggers, packages, and types are translated into Python/PySpark for the code plane.
Generated tests compare source and target behavior for tables, views, functions, and procedures. Performance is recorded alongside correctness, so a passing translation is not mistaken for a fast one.
Where the work happens
These are the source patterns that usually create rework. Each card explains the target-aware treatment, so your team can see what is being adapted and where a decision is still required instead of discovering a mismatch during deployment.
Translate Oracle tables and views into Spark SQL while preserving the object relationships that downstream jobs depend on.
Move procedures, functions, triggers, and packages into a Python or PySpark code plane with their source dependencies identified.
Adapt Oracle-specific expressions and types to the Databricks execution model, exposing precision and semantic decisions for review.
Make database behavior that must become application behavior explicit, so ownership, testing, and deployment do not disappear between platforms.
Re-run the translation as the target profile or source code changes and compare findings instead of manually tracking a moving rewrite.
The path to confidence
Assessment, translation, and testing stay connected, so your team can see what the software handled automatically, what it changed to fit the target, and which decisions still need a human owner.
Connect or upload Oracle code. The parser reads every object, builds dependencies, scores complexity, and shows where Databricks needs a different construct.
Relational and procedural objects are translated together, with source semantics kept in context. Where Databricks has no direct equivalent, the engine uses a supported rewrite or names the gap clearly.
Deploy the generated target objects to staging, inspect the differences, run generated tests, and use the results to focus engineering time on the exceptions that matter.
The source and target
A script that runs is not proof that a migration worked. The real question is what the target needed in order to preserve the workload’s intent, and whether those changes have been tested. SQL Tran keeps that answer visible at the object level.
Oracle schemas, built-ins, data types, dependencies, packages, procedures, functions, and triggers.
Spark SQL for data objects and Python or PySpark for executable logic.
Evidence you can use
This is not a black box. Findings stay attached to the translated workload, so engineers can inspect the change while decision-makers can see what remains before they approve the move.
Your review list
Every migration has a boundary. Surface it early, and reviewers can spend their time on the few decisions that shape the result instead of rereading thousands of generated lines.
Your working set
Take the next step
Run the assessment against your objects, dependencies, and target version. We do that by running full translation and exposing the real result. That tells you exactly what translates cleanly, what changes, and what needs your attention.
Start the assessment