Modernizing Legacy Data: Migrating from On-Premises Oracle to Azure SQL Database
Modernizing data did not just mean moving it to the cloud, but restoring control, quality, and the ability to evolve. Through a migration governed by Oracle on-premises to Azure SQL Database, orchestrated with Azure Data Factory and supported by a secure hybrid architecture, data has become traceable and reliable.
location
Milano
industry
Enterprise IT & Data Platforms
technology
Context: when data holds back evolution
Many organizations are moving applications and analytics to the cloud, yet core operational data often remains locked in legacy systems. Not out of inertia, but because that’s where the most critical business information lives.
In this project, the company’s data backbone was a long-standing on-premises Oracle database: reliable, but increasingly difficult to integrate with a cloud ecosystem, costly to maintain, and inflexible for modern reporting and analytics needs.

The goal wasn’t simply to “move a database.” It was to unlock a roadmap: make data governable, integrable, and ready for cloud-first evolution without disrupting day-to-day operations.
The business challenge: continuity and trust in data
When data platforms are legacy, the risk goes far beyond technology:
- slow or fragile integrations with new applications,
- limited and rigid reporting capabilities,
- growing operational and licensing costs,
- poor visibility into the data lifecycle.
For these reasons, the organization chose a SQL Server / Azure SQL-based target, aligned with its Microsoft ecosystem, easier to integrate with modern BI tools, and more flexible in terms of licensing and scalability.
The key constraint: migrate in a controlled, reliable way, preserving data integrity and business continuity at every step.
Architectural choice: ADF as the orchestrator, SharePlex for CDC
In this scenario, time pressure was not the main driver. Reliability and traceability were.
Change Data Capture was already handled externally via SharePlex, allowing Azure Data Factory (ADF) to focus on what it does best in enterprise environments:
- end-to-end orchestration,
- full initial migration,
- repeatable batch pipelines,
- controlled bulk data loads,
- validation and compensation routines,
- error handling with monitoring and retry mechanisms.
The objective was not “just copying data,” but building a predictable, observable, and governable process capable of handling real-world legacy complexity.
Real challenges and how we addressed them
1) Data type and schema mismatches
Oracle and SQL Server differ in how they handle data types, precision, and formats. These gaps can easily cause load failures or silent inconsistencies. We addressed this through explicit column mappings and validation rules to ensure consistency during ingestion.
2) Large tables and performance bottlenecks
Migrating millions of rows in a single batch is rarely sustainable. We implemented partitioned copy strategies, parallelization, and range-based filters (dates, ROWID). Where appropriate, incremental logic based on watermark columns ensured efficiency and control.
3) Hybrid connectivity and security constraints
The Oracle system was hosted in a private on-premises network, not directly accessible from Azure. We deployed a Self-Hosted Integration Runtime (SHIR) within the client’s network, enabling secure outbound HTTPS communication only—without changing firewall policies. Credential management was designed around Azure Key Vault for security and compliance.
4) Legacy data quality: the hidden risk
Legacy data is rarely clean: missing constraints, inconsistent formats, obsolete records. Loading it directly into the target model often amplifies technical debt. We implemented a dual-staging strategy:
- Raw staging for a faithful copy of source data (audit and reprocessing).
- Transformation staging for cleansing, validation, and enrichment before merging.
Data quality was treated as a first-class concern, not a side effect of migration.
Architecture design: governability first
The solution was built around a simple principle: if it’s not traceable, it’s not governable.
- On-prem Oracle as the source.
- SHIR as the secure bridge to Azure.
- ADF as the orchestration layer: copy activities, data flows or stored procedures, triggers, and monitoring.
- Staging areas as control zones for validation, rollback, and reprocessing.
- Final merge/upsert into the target schema only after checks are passed.

This structure doesn’t just support migration, it becomes a long-term operational asset.
Results: from data transfer to operational maturity
A successful migration is not measured by “data moved,” but by what it enables next.
With the new SQL Server / Azure SQL environment, the organization achieved:
- Cleaner, documented data models: reduced redundancy, normalized relationships, consistent naming and key strategies.
- Improved reporting performance and flexibility: business-ready data directly consumable by modern BI tools.
- Higher operational reliability: repeatable pipelines, traceability, and controlled reprocessing.
- A scalable cloud foundation: easier integrations, faster evolution, less friction across systems.
In short, data shifted from being a constraint to becoming a platform.
Conclusion: modernizing data means modernizing the organization
This project demonstrates a pragmatic approach to modernization without hype and without risky big-bang migrations.
When legacy systems are handled with method, staging, validation, orchestration, and governance, migration becomes an accelerator: it improves data quality, reduces risk, and enables new digital initiatives.
If you’re planning a data migration from on-premises to the cloud, the real question isn’t which tool to use. It’s how to maintain control, quality, and continuity while changing your foundations. Let’s talk. We help organizations design data migrations that are governed, traceable, and built to evolve.
The migration was handled methodically and carefully, without impacting daily operations. Today, we have a more reliable, traceable database that is ready to support cloud and reporting developments that were previously difficult to sustain. Sensei's work has allowed us to transform a legacy constraint into a platform on which to build.