Skip to content

Database Modernization on AWS: Oracle & SQL Server to Aurora

Database modernization on AWS, moving Oracle and SQL Server to Amazon Aurora

Key takeaways

  • Pick a path per workload, not per estate. Rehost, Babelfish, refactor, and re-architect each leave a different license bill behind, and most estates end up using two or three of them.
  • Your renewal date is the real deadline. SQL Server 2016 left extended support on July 14, 2026, SQL Server 2017 follows on October 12, 2027, and Oracle 19c Premier Support runs to December 2029.
  • Aurora PostgreSQL is the usual landing zone for Oracle, because PL/SQL maps most closely to PL/pgSQL, while SQL Server teams choose between converting T-SQL and running it through Babelfish.
  • Triage every object before anyone commits to a date. The red bucket, meaning packages full of business rules, CLR assemblies, and linked servers, sets your critical path far more than data volume does.
  • Model cost against the renewal quote. AWS says Aurora I/O-Optimized can save up to 40% once I/O passes 25% of Aurora spend, and Flexera found wasted cloud spend rose to 29% this year.
  • Make compliance evidence a deliverable. IBM puts the 2026 global average breach at USD 4.99 million, so reconciliation, lineage, and signed acceptance should come out of the migration itself.

Definition

Database modernization on AWS is the work of getting Oracle and SQL Server workloads onto managed engines, usually Amazon Aurora PostgreSQL or Aurora MySQL, so the commercial licenses behind them can be retired. Each workload takes one of four paths: rehost on Amazon RDS, run T-SQL through Babelfish, refactor with full code conversion, or re-architect. The migration itself runs through AWS DMS Schema Conversion and AWS Database Migration Service, then a parallel run to prove the numbers match, then a rehearsed cutover timed against your next renewal date.

Rehost, replatform, refactor or re-architect: four paths off Oracle and SQL Server
Path What changes License outcome Relative effort Best fit

Rehost

Engine stays; moves to Amazon RDS for Oracle or RDS for SQL Server

License stays (BYOL or license-included)

Low Hard engine lock-in, short runway, packaged apps

Replatform with compatibility

SQL Server apps onto Aurora through Babelfish

Commercial license retired

Medium T-SQL apps where code changes must stay minimal

Refactor

Oracle or SQL Server to Aurora PostgreSQL or Aurora MySQL with full code conversion

Commercial license retired

Medium to high Owned applications with room to clean up logic

Re-architect

Decompose the monolith into Aurora plus purpose-built stores

Retired, often with lower total footprint

High Systems that already block product or AI roadmaps

For that insurer, we'd probably refactor the policy system to Aurora PostgreSQL and put claims reporting on Babelfish first, because the reporting team can't rewrite hundreds of T-SQL procedures before the SQL Server renewal. Rehost isn't a failure either. A rehost that buys you twelve months of runway, while the refactor ships on a committed date, beats a refactor that drifts for two years, since the goal is retired legacy on a date and not architectural purity.

Why Are Oracle and SQL Server Renewals the Right Trigger for an Oracle to Aurora Migration?

Because the renewal date, not the architecture review, sets your real deadline. Most of a migration plan can move around, but the invoice arrives when the contract says it will, which is why we scope our application and database modernization work against the renewal calendar first.

The licensing math on AWS cuts against staying put. Oracle's cloud licensing policy tells customers to "count two vCPUs as equivalent to one Oracle Processor license if multi-threading of processor cores is enabled," so every right-sizing decision you make on AWS still runs through Oracle's meter. On the Microsoft side, licenses bought without Software Assurance and mobility rights after October 1, 2019, can't be deployed on dedicated hosts at Listed Providers, and Amazon is one of them.

Then there's the support clock:

Oracle and SQL Server end-of-support dates
Version Key date What it means

SQL Server 2016

Extended support ended July 14, 2026

Paid Extended Security Updates run for up to three years, to July 2029, and need Software Assurance or a subscription

SQL Server 2017

Extended support ends October 12, 2027

About a year left to plan, build, and rehearse a cutover

Oracle Database 19c

Premier Support ends December 31, 2029

Extended Support runs to December 2032 at a higher fee

We'd work backward from the nearest of those dates. If a credible program needs a scoping phase, a build, a parallel run, and a rehearsed cutover, it doesn't take long to see whether you're early, on time, or already negotiating from a weak position.

This is also where the CFO conversation changes. We'd argue that a good part of the AI budget most enterprises think they need is already sitting inside existing IT spend, in the database renewal that comes up every year.

Synaptics is a good example. Its Oracle database was, as our case study puts it, "one of those systems everyone agreed should be modernized," but the engineering team was always needed elsewhere. We shipped the Oracle migration to Amazon RDS on a fixed date, and "the license renewal that was inevitable became the budget that funded the next initiative." That's the pattern worth copying, where the exit pays for whatever comes after it.

Which Aurora Target Fits Your SQL Server to Aurora Migration or Oracle Exit?

Pick the target by workload behavior rather than team preference, so the engine follows the code. For an Oracle to Aurora PostgreSQL migration, PostgreSQL is the usual landing zone because PL/SQL concepts map most closely to PL/pgSQL. Aurora MySQL fits simpler, read-heavy web schemas. For SQL Server, the real fork is whether you convert T-SQL or run it through Babelfish.

A first-pass Aurora target decision path for Oracle and SQL Server workloads, ending at the same validation, parallel run and cutover gate

Choosing an Aurora target for Oracle and SQL Server workloads
Decision factor Aurora PostgreSQL Aurora MySQL Babelfish for Aurora PostgreSQL

Typical source

Oracle, SQL Server

Oracle or SQL Server with light logic

SQL Server

Procedural code

PL/pgSQL; closest match for PL/SQL

Limited; logic often moves to app tier

Runs much of your T-SQL as-is

Application changes

Moderate; drivers and SQL dialect

Moderate to high for logic-heavy apps

Low; apps keep the SQL Server wire protocol

Where it bites

Packages, autonomous transactions, hierarchical queries

Complex stored procedures

Unsupported T-SQL features; check before you commit
Long-term posture Strongest ecosystem for analytics and AI workloads Mature, simple, high-throughput A bridge you can refactor off later

Babelfish lets Aurora PostgreSQL understand T-SQL and the SQL Server TDS wire protocol, so client applications can connect to it much as they would to SQL Server. The open-source Babelfish Compass tool reads your T-SQL and reports how much of it is supported before you sign anything. We'd run Compass early on any SQL Server to PostgreSQL migration, because a 90% compatibility score is a lot less comforting once you learn the other 10% is the claims reserve calculation.

This is a heterogeneous database migration, so the tooling matters. AWS Database Migration Service (DMS) handles the full load and the change data capture that keeps the target in sync. DMS Schema Conversion and the AWS Schema Conversion Tool convert schema and code, and since December 2024 DMS Schema Conversion has offered generative AI-assisted conversion for PostgreSQL targets, now covering Oracle, SQL Server, SAP ASE, and Db2 sources.

What none of these tools decide is which logic should stay in the database at all. In the insurer's case, whether the premium rules belong in PL/pgSQL or in an application service is an engineering judgment, and that's where most of the risk lives.

How Should You Triage PL/SQL and T-SQL Complexity Before You Commit to a Date?

We'd sort every database object into three buckets before anyone quotes a timeline, because it's the quickest way to tell a twelve-week program from a twelve-month one.

Database object triage by conversion risk
Bucket What's in it Typical treatment Risk signal

Green

Tables, indexes, views, simple functions

Automated conversion, spot-checked

Low; volume, not judgment

Amber

Stored procedures with dynamic SQL, triggers, cursors, vendor-specific functions

Assisted conversion plus engineer review

Medium; plan test coverage per object

Red

Packages holding business rules, autonomous transactions, CLR assemblies, linked servers, cross-database jobs

Redesign; often move logic to the application or event layer

High; this bucket sets your critical path

If nobody can tell you how many objects sit in the red bucket, what you're holding is a guess, however polished the proposal looks. For the insurer, the forty or so packages that calculate premiums and run the month-end close would go straight into red, and they'd decide the date long before data volume did.

What Does an Oracle to Aurora Migration Cost, and Where Does the Money Go?

There's no honest single number, and anyone who gives you one before seeing your schema is guessing. What we can give you is the cost structure, so you can pressure-test any proposal against your own renewal quote.

What Does an Oracle to Aurora Migration Cost, and Where Does the Money Go?

Oracle to Aurora migration cost lines and what drives them
Cost line What drives it How to keep it honest

Commercial license exit

Oracle license cost by processor, SQL Server core counts, support uplift, audit exposure

Time the cutover ahead of the renewal, not after it

Amazon Aurora pricing

Instance class, storage, I/O pattern, replicas

Evaluate Aurora I/O-Optimized when I/O exceeds roughly a quarter of database spend

Engagement cost

Object count in amber and red buckets, test depth, cutover complexity

Insist on a fixed fee after scoping, not open-ended time and materials

Dual running

Length of the parallel run

Plan the parallel run as a gate with exit criteria, not an open window

Post-cutover drift Over-provisioned instances, idle replicas Put FinOps guardrails in the build, not in a later cleanup project

Two levers matter more than people expect. The first is Aurora I/O-Optimized, and AWS says that "if your I/O spend exceeds 25% of your total Aurora database spend," switching can save up to 40%, so we'd check the I/O pattern during design instead of after the first bill. The second is the AWS Migration Acceleration Program (MAP), which pairs a migration methodology with AWS financial investment to "offset initial migration costs" for eligible programs. We'd raise MAP eligibility in the first scoping call, since it can change how the whole business case reads.

Flexera's 2026 State of the Cloud Report adds a useful caution here. Wasted cloud spend rose to 29%, the first increase in five years, which suggests that moving a workload and moving it efficiently are two different results. That's why we'd make right-sizing part of the design gate.

How Long Does a SQL Server to Aurora Migration Take?

For a scoped workload, weeks rather than quarters, as long as discovery doesn't eat the calendar. Across Mactores engagements, our median time to production is 12 weeks. What stretches a timeline is rarely data volume. It's usually what nobody knew about the dependencies.

The same Flexera survey of 753 cloud decision-makers backs this up, with understanding application dependencies named the top migration challenge by 54% of respondents. In the insurer's case, that might be an SSIS job that feeds the actuarial team every Monday, or a linked server a regulatory report reads from, and each one found in week ten moves the date.

viz_five_gates

The structure moves risk discovery to the front. As our delivery method puts it, "automation carries the repetitive bulk of the engagement, forward-deployed engineers carry every judgment call, and the ship date is written into the statement of work before build begins." Gate two is the one a CFO should watch most closely, because that's where the date and the fee stop moving.

How Do You Keep Compliance Intact During Database Modernization on AWS?

Treat compliance evidence as a deliverable of the migration, not a review after it. When auditors have to piece together what happened over the cutover weekend from chat logs and screenshots, the review tends to drag on for months.

The stakes are real. IBM's 2026 Cost of a Data Breach report puts the global average at a record USD 4.99 million, up 12% on the year before, and the US average at USD 11.5 million. A database migration is when sensitive data is most in motion, so it's also when your controls get tested hardest.

Compliance evidence by framework for an Aurora migration
Framework Where it applies Evidence your migration should produce

HIPAA

US healthcare and life sciences

Encryption in transit and at rest, PHI access logs, BAA coverage for in-scope services

PCI DSS v4.x

Card payments, US and EU

Scoped cardholder data flows, change records, validated segmentation after cutover

SOC 2

SaaS and service providers

Change management trail, access reviews, reconciliation records

FedRAMP

US public sector suppliers

Authorized service selection and boundary documentation

SEC and FFIEC expectations US financial services Data lineage, retention controls, auditable cutover decisions
GDPR and EU Data Act EU personal and product data Data residency mapping, processing records, portability readiness
DORA and NIS2 EU financial entities and critical sectors Operational resilience testing, ICT third-party register, recovery evidence

A few specifics are worth knowing. Both editions of Aurora are HIPAA-eligible, and Aurora MySQL and Aurora PostgreSQL are in scope for FedRAMP at the Moderate and High baselines, which AWS now labels Class C and Class D. The 51 future-dated PCI DSS v4.x requirements became mandatory on March 31, 2025. In Europe, DORA has applied since January 17, 2025 and the EU Data Act since September 12, 2025, and the AWS European Sovereign Cloud, generally available since January 2026 with its first Region in Brandenburg, Germany, gives regulated workloads a sovereignty option inside the EU. Gartner expects 80% of sovereign cloud IaaS spending to come from "net new digital solutions or legacy workloads waiting to be migrated to a cloud environment," and forecasts Europe to pass North America in that spending in 2027.

We treat compliance as a foundation rather than a tax. Lineage, access control, and audit evidence get built into the platform, so every new analytical capability inherits them instead of triggering a fresh review. Our financial services data modernization work follows that principle, and so does our healthcare data platform approach for HIPAA workloads.

Why Do Oracle and SQL Server Migrations Stall, and How Do You De-Risk the Cutover?

Usually on sequencing rather than technology. The budget goes to discovery, the cutover gets underfunded, and the program either stalls or ships something the auditor won't sign.

We saw this pattern firsthand with a branded-payments leader whose two earlier modernization attempts had stalled before cutover. Our case study sums up the trap: "Discovery eats the budget; cutover gets de-funded; the program stalls or ships at a quality the regulator does not approve." On the third attempt, agents took on code analysis, dependency mapping, and test generation, which left engineers free for risk-weighted cutover sequencing, and the PCI DSS-aligned payments platform went live with no audit incident during cutover.

Database migration failure modes and how to de-risk them
Failure mode Early warning sign What de-risks it

Discovery overrun

Assessment still running in month three

Automated discovery with a fixed exit and a signed roadmap

Red-bucket surprises

"We'll handle the packages later"

Object triage before the date is committed

Hidden dependencies

Reports or jobs nobody owns

Dependency graph signed off by app owners

Data drift at cutover

Row counts match, values don't

Object-level and value-level reconciliation during the parallel run

No way back Rollback plan is a slide Rehearsed runbook with pre-agreed rollback criteria and a go/no-go owner
Legacy never retired Old cluster "kept for safety" for a year Decommissioning written into the contract as a deliverable

For a near-zero-downtime Oracle to Aurora migration, the playbook is well understood. You run a full load, then continuous CDC replication, then a parallel run long enough to cover month-end or peak behavior, and finally a short, rehearsed switchover. For the insurer, that means the parallel run has to include at least one month-end close, because that's when the premium packages do their heaviest work.

After cutover, Aurora Global Database adds cross-Region recovery, and AWS says a secondary Region "can be promoted to read and write capabilities in less than 1 minute." Zero-ETL integration with Amazon Redshift, available for both Aurora MySQL and Aurora PostgreSQL, lets analytics move with you instead of lagging behind. If the warehouse is next in line, the same gates apply to data warehouse modernization.

How Should You Evaluate a Database Migration Consulting Partner on AWS?

We'd ask questions that force a commitment, because the commercial model says more about delivery risk than any capabilities deck or case study slide.

Time and materials vs fixed bid vs fixed date and fee
Commercial model Who carries overrun risk What it signals

Time and materials

You

Partner is paid for effort, not outcomes

Fixed bid with broad change-order clauses

Mostly you

Price is fixed; scope isn't

Fixed date, fixed fee, provider absorbs overage for its own delays

The provider, for delays inside its control

Delivery model has been engineered for predictability

Use these questions in your RFP or first call:

  1. How many objects did you place in the red bucket on your last three Oracle to Aurora PostgreSQL migration programs, and how did that change the date?
  2. Will the ship date and fee be written into the statement of work, and what happens if you miss for reasons inside your control?
  3. Who owns the cutover decision, by name, and how many times will we rehearse it?
  4. What reconciliation evidence will our auditors receive at the end of the parallel run?
  5. Is legacy decommissioning in scope, or is it a follow-on project?
  6. How much of the engagement is automated, and which decisions stay with senior engineers?
  7. Can you show named customers in production on Aurora, not just certifications?

If a partner hedges on questions two and five, that tells you most of what you need to know about who will carry the risk. You can see how we answer both on our delivery commitment page, which also reports that 94% of our engagements were delivered on or ahead of date.

What Should You Have Ready Before a Database Modernization Scoping Call?

You don't need a perfect inventory, just enough to size the red bucket and find the real deadline. Bring what you have:

  • Your next Oracle or SQL Server renewal date and the most recent quote or true-up notice
  • Engine versions, editions, and instance or core counts per environment
  • A rough count of schemas, stored procedures, packages, and scheduled jobs
  • The applications, reports, and integrations that read from or write to each database
  • Compliance scope: HIPAA, PCI DSS, SOC 2, FedRAMP, GDPR, DORA, or data residency constraints
  • Your downtime tolerance for each workload, stated in minutes, not adjectives
  • Current AWS footprint, accounts, and any MAP or committed-spend agreements

With that list, a good partner should be able to tell you within the first phase which path each workload takes, where the critical path runs, and whether your renewal date is realistic. If you'd like that read from us, book 30 minutes with the engineer who'd own the work and bring the renewal quote.

FAQs

What is database modernization on AWS?
It's the work of moving commercial databases such as Oracle and SQL Server onto AWS managed engines, most often Amazon Aurora PostgreSQL or Aurora MySQL, so the licenses behind them can be retired. A typical program covers schema and code conversion, data replication with change data capture, a parallel run to prove the numbers match, and a rehearsed cutover that ends with the legacy database switched off.
How much does an Oracle to Aurora migration cost?
It depends on object complexity far more than data volume. The main lines are the engagement fee, temporary dual running during the parallel run, and Aurora compute, storage, and I/O. We'd model all of it against your next Oracle renewal quote, because the processor licenses and support you retire often cover a large share of the migration within the first renewal cycle.
How long does a SQL Server to Aurora migration take?

A well-scoped SQL Server to Aurora migration usually takes weeks rather than quarters, and the median across Mactores engagements is 12 weeks to production. Timelines stretch when stored procedures, CLR assemblies, linked servers, or undocumented jobs turn up late, so we'd triage every object and run automated dependency discovery before anyone commits to a date.

Should we use Babelfish or convert T-SQL to PostgreSQL?
Use Babelfish for Aurora PostgreSQL when you need to retire SQL Server licenses quickly and application code changes have to stay minimal. Convert T-SQL fully when you own the code and want the cleanest long-term platform. Plenty of teams start on Babelfish for speed and refactor the high-value modules later, and we'd run Babelfish Compass first to see how much of your T-SQL is supported.
Can Amazon Aurora meet HIPAA, PCI DSS, and DORA requirements?
Aurora can support all three, but the service alone doesn't make you compliant. Both Aurora editions are HIPAA-eligible and in scope for PCI DSS, SOC, and FedRAMP, and what matters after that is how you configure and run them. For DORA and GDPR you'll also need data residency mapping, resilience testing, and third-party risk records, which we'd produce as part of the migration itself.
When did SQL Server 2016 reach end of support, and what are the options?
Extended support for SQL Server 2016 ended on July 14, 2026. Microsoft sells Extended Security Updates for up to three more years, through July 2029, but they cover critical security fixes only and require Software Assurance or a subscription. Most teams use the deadline to choose between upgrading, rehosting on a supported version in Amazon RDS, and moving to Aurora, where the commercial license goes away.
Is Aurora PostgreSQL compatible with Oracle?
Aurora PostgreSQL isn't a drop-in Oracle replacement, but it's the closest match for most Oracle workloads. PL/SQL maps to PL/pgSQL, and conversion tools handle a large share of schema and code automatically. Packages, autonomous transactions, hierarchical queries, and some built-in functions need engineer-led redesign, so those objects should drive your timeline estimate.
Does AWS DMS convert stored procedures and PL/SQL?

Not by itself. AWS Database Migration Service moves the data, with a full load and ongoing change data capture. Stored procedures, PL/SQL packages, and the rest of the schema go through DMS Schema Conversion or the AWS Schema Conversion Tool, and DMS Schema Conversion can use generative AI for PostgreSQL targets. Objects in the red bucket still need an engineer to decide where that logic should live.

What should we look for in a database migration partner?
Look for a partner that writes a ship date and a fixed fee into the statement of work, absorbs overage for its own delays, names who owns the cutover decision, hands your auditors reconciliation evidence, and includes legacy decommissioning in scope. Named customers running in production on AWS tell you more than a count of certifications.
Ammar Nizami, Senior Forward-Deployed Engineer, Data Engineering practice

Written by

Ammar Nizami

Senior Forward-Deployed Engineer, Data Engineering practice

Ammar leads a team of Forward-Deployed Engineers inside Mactores’ Data Engineering practice. Fifteen years in data engineering. Fifty-plus production Apache Iceberg engagements shipped. He owns the architecture calls that a customer’s data team cannot afford to get wrong — table format choice, partition strategy, migration sequencing, cutover under load — and hands the running platform back to the customer’s operations team on customer-signed acceptance. The complex Iceberg problems Mactores takes on are the ones his team solves.

Let's deliver

Bring us the process. We will bring the authority model.

The agent-native AWS modernization firm. Data platforms moved. Legacy retired. AI agents in production. AWS Premier Tier Services Partner since 2026, on AWS since 2008.

  • 01 AWS Premier Tier Services Partner, on AWS since 2008.
  • 02 Forward-deployed engineers own architecture, cutover and the date.
  • 03 Acceptance criteria per phase, with the signer named in the SOW.
  • 04 The golden set and the trace data belong to you.