FabricFabricAirlift
Source systems

Oracle

Implement Oracle and ODI migrations with profiler constraints, PL/SQL conversion, SCN-aware transfer, and Lakebridge reconciliation.

Migrate Oracle with Airlift

The Oracle profile covers SQL and PL/SQL, packages, procedures, materialized views, database links, ODI, scheduler jobs, partitioning, security, and downstream reports. Airlift records each workload class and its dependencies instead of treating a schema export as the whole estate.

What Airlift adds to an Oracle migration

StageDatabricks tool or project adapterAirlift responsibility
discoverLakebridge Profiler and Analyzer scan SQL, PL/SQL, and ODI exportsaccept inventory, dependencies, exclusions, source version, licensing constraints, and report digests
planassessment output informs target architectureassign owners and dependency-aware waves; preserve package, database-link, scheduler, and human-work decisions
convertBladeBridge converts supported Oracle SQL and PL/SQLrecord attempts, tool generations, artifact digests, warnings, and residue lanes
move dataconsistent snapshot plus SCN or timestamp catch-uptrack SCNs, manifests, lag, restart checkpoints, target Delta versions, counts, and reconciliation
validateLakebridge Reconcile plus package, NLS, exception, and business scenariosadmit independent data and behavior evidence against exact source and target snapshots
certifyAirlift evaluates the active readiness profilemint a signed certificate identifying artifacts, snapshots, evidence, and policy
cut overproject service, scheduler, ODI, report, and application effectorsfreeze scope, enforce approvals, checkpoint, apply once, verify, and retain rollback evidence
modernizeUnity Catalog, Lakeflow, Delta, Databricks SQL, and Python workkeep procedural redesign separate from the parity-preserving release

This keeps packages, scheduler chains, database links, ODI workflows, permissions, and report consumers visible alongside tables so schema conversion cannot overstate estate readiness.

Compile the executable migration pack

Export tables, views, PL/SQL packages, materialized views, database links, scheduler jobs, ODI workflows, grants, and consumers into a credential-free manifest. Select oracle_database, oracle_exadata, or oracle_autonomous, attach the observed hard cases to their owning objects, then compile it:

fa migration-pack inspect --file oracle-manifest.json
fa migration-pack plan --file oracle-manifest.json --json > oracle-plan.json
fa migration-pack register --file oracle-plan.json \
  --engagement-id <engagement-id> --estate-id <estate-id> \
  --artifact-id <immutable-artifact-reference> --idempotency-key <stable-key>

The compiler validates the dependency graph and Oracle hard-case corpus, routes stateful packages and autonomous transactions to human remediation, and emits the SCN-aware transfer contract, required Experiments suites, target mappings, and Runway deployment requirements. See migration-pack commands for the schema and certification workflow.

Inspect and generate a plan

fa source inspect oracle
fa source plan oracle --json > .airlift/oracle-plan.json

Profile and analyze

The current Lakebridge profiler targets multitenant Oracle, connects to CDB$ROOT, and may query AWR views. Verify network/authentication constraints and Oracle Diagnostic Pack licensing before enabling those queries.

databricks labs lakebridge configure-database-profiler
databricks labs lakebridge execute-database-profiler \
  --source-tech oracle \
  --output-folder ./artifacts/profile

databricks labs lakebridge analyze \
  --source-directory ./source-export \
  --source-tech "Oracle" \
  --report-file ./artifacts/oracle-analysis.xlsx \
  --generate-json true

Run a separate Analyzer pass with Oracle Data Integrator for ODI exports. Register packages, package bodies, scheduler chains, database links, grants, and consumer dependencies as objects or linked evidence.

Convert

databricks labs lakebridge transpile \
  --source-dialect oracle \
  --input-source ./source-export/sql \
  --output-folder ./artifacts/converted

BladeBridge is the preferred deterministic path. Route stateful packages, autonomous transactions, database links, advanced queues, Java procedures, proprietary utilities, and unresolved optimizer behavior to residue. Record one artifact and tool version per attempt.

Transfer and reconcile

Select a consistent snapshot and SCN or timestamp catch-up per table class. Keep the source SCN and target Delta snapshot with all validation evidence.

databricks labs lakebridge configure-reconcile
databricks labs lakebridge auto-configure-recon-tables
databricks labs lakebridge reconcile

Validate NUMBER precision, DATE/TIMESTAMP, empty string versus null, NLS settings, identifier case, exception behavior, and representative package logic. Data parity does not prove procedural side effects; use separate Experiments scenarios.

Certify and cut over

Assign validation profiles separately to tables, views, packages, scheduler work, ODI flows, and reports. Airlift mints certificates only from admitted current evidence. The project cutover effector should switch database services, jobs, ODI schedules, report connections, and application endpoints through rehearsed checkpoint/apply/verify steps. An uncertain endpoint result remains open for reconciliation rather than being retried.

Modernize after parity

Replace procedural packages with Databricks SQL or Python where appropriate, move jobs to Lakeflow, map grants to Unity Catalog, and validate Delta constraints, generated columns, and Databricks SQL performance in a separate release.

Complete developer command sequence

Generate this exact recipe from the installed CLI so the guide and executable surface stay in sync:

fa source recipe oracle
fa source recipe oracle --variant oracle_database --json > .airlift/oracle-recipe.json

The App is engagement-aware. Oracle appears under Active sources only after the source estate is added to an active engagement. The menu is derived from governed engagement scope; installing Airlift does not expose unrelated source pages.

Every remote mutation below requires --host, --org, authenticated workspace identity, and a stable --idempotency-key. JSON request files contain identifiers, artifact references, and opaque credential references—never passwords, tokens, or connection strings. Run fa <resource> <operation> --help for the current schema and exit semantics.

0. Inspect the source contract

fa source inspect oracle --json > .airlift/oracle-profile.json
fa source plan oracle --variant oracle_database --json > .airlift/oracle-capability-plan.json

Expected artifacts:

  • .airlift/oracle-profile.json
  • .airlift/oracle-capability-plan.json

Open Engagements → active engagement in the App. This stage is visible at /engagements after replacing the placeholder ID with the governed engagement ID.

1. Create governed scope and connection references

fa engagement create --file engagement.json --idempotency-key migration-create-v1
fa estate register --file oracle-estate.json --idempotency-key oracle-estate-v1
fa connection register --file oracle-connection.json --idempotency-key oracle-connection-v1
fa engagement update --file oracle-scope.json --idempotency-key oracle-scope-v1
fa engagement preflight <engagement-id>

Expected artifacts:

  • Governed engagement
  • Source estate
  • Opaque connection binding

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id> after replacing the placeholder ID with the governed engagement ID.

2. Assess and accept inventory

fa assessment start --file oracle-assessment-start.json --idempotency-key oracle-assessment-start-v1
fa assessment status <assessment-id> --json
fa assessment record --file oracle-assessment-record.json --idempotency-key oracle-assessment-record-v1
fa assessment accept --file oracle-assessment-accept.json --idempotency-key oracle-assessment-accept-v1
fa inventory list --estate-id <estate-id> --json

Expected artifacts:

  • Assessment report reference
  • Normalized inventory
  • Dependency graph

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/sources/oracle after replacing the placeholder ID with the governed engagement ID.

3. Compile the oracle migration pack

fa migration-pack inspect --file oracle-manifest.json
fa migration-pack plan --file oracle-manifest.json --json > generated/oracle-plan.json

Expected artifacts:

  • Dependency-aware migration pack
  • Transfer requirements
  • Validation requirements
  • Residue lanes

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/artifacts after replacing the placeholder ID with the governed engagement ID.

4. Convert, move, and remediate

fa plan generate --file oracle-migration-plan.json --idempotency-key oracle-plan-v1
fa conversion batch create --file oracle-batch.json --idempotency-key oracle-batch-v1
fa conversion batch start --file conversion-batch-start.json --idempotency-key conversion-start-v1
fa residue list --engagement-id <engagement-id>
fa transfer plan --file oracle-transfer.json --idempotency-key oracle-transfer-v1
fa transfer run <transfer-id> --idempotency-key transfer-run-v1
fa transfer reconcile <transfer-id> --idempotency-key transfer-reconcile-v1

Expected artifacts:

  • Target artifacts
  • Residue cases
  • Transfer checkpoints
  • Reconciliation evidence

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

5. Validate independently and inspect discrepancies

fa validation run --file oracle-validation.json --idempotency-key oracle-validation-v1
fa validation status <validation-execution-id> --json
fa discrepancy list --engagement-id <engagement-id>
fa artifact list --engagement-id <engagement-id>

Expected artifacts:

  • Provider run references
  • Readiness evidence
  • Discrepancies

Open Engagements → active engagement in the App. This stage is visible at /engagements/<engagement-id>/runs after replacing the placeholder ID with the governed engagement ID.

6. Certify, cut over, and export evidence

fa certificate list --object-id <object-id>
fa cutover status <wave-id> --json
fa evidence list --engagement-id <engagement-id>
fa evidence export --file oracle-evidence-export.json --idempotency-key oracle-evidence-export-v1

Expected artifacts:

  • Migration certificates
  • Cutover evidence
  • Content-digested evidence export

Open Engagements → active engagement in the App. This stage is visible at /assurance after replacing the placeholder ID with the governed engagement ID.

Runway executes releases; Experiments owns validation verdicts; Airlift owns migration readiness and cutover policy.

What developers see in the App

The contextual source workspace shows the accepted estate and the factory stages for this engagement. Artifacts displays immutable references, content digests, media types, and provider lineage. Runs displays assessment, conversion, transfer, validation, and deployment executions without treating a provider's success as an Airlift verdict.

Oracle has its own engagement-scoped workspace; unrelated source systems are not shown.

What you are seeing

This public synthetic capture demonstrates Airlift setup and navigation for Oracle; it is not evidence of a live connection or certified migration.

What to do next

Register the client estate, bind a credential reference, run the Oracle assessment recipe, and admit the resulting evidence.

Read the developer workflow

These are automated captures from public synthetic engagements. The source workspace is specific to Oracle; no unrelated source is presented as its migration journey. For sources without an evidence-backed journey, the image demonstrates setup, navigation, and developer entry points only—not a live connection, converted output, or certified migration. No client data, credentials, workspace hostnames, or internal deployment identifiers are embedded in the images.

On this page