Oracle migrations are the single most licence-sensitive workload class in cloud migration. The destination decision is dominated not by AWS pricing but by Oracle's own cloud licence terms, which were unilaterally reset in 2017 to discourage Oracle workloads on competitive clouds. Understanding the licence economics changes the destination decision entirely. For some estates the cheapest path is RDS for Oracle. For others it is Aurora PostgreSQL with full Oracle removal. For very large Oracle estates it is OCI. This page is the 2026 cost reference for moving Oracle to AWS specifically.
In January 2017 Oracle updated its public Cloud Licensing Policy to introduce a 2:1 conversion ratio for AWS EC2 and Azure VM compute. Under the rule, two AWS vCPUs (or two Azure vCores) require one Oracle Processor licence. This applied uniformly regardless of the actual physical CPU specification of the host. The effective result for customers running Oracle BYOL on EC2: roughly double the Oracle licence cost compared with on-premise at the same vCPU count.
The 2:1 rule does not apply to RDS for Oracle, where Oracle and AWS have a separate agreement that treats RDS as a special case. It also does not apply to Oracle Cloud Infrastructure (OCI) where Oracle's licence rules are explicitly favourable. The effect on destination decisions is structural: most Oracle estates that move to AWS choose RDS for Oracle for the smaller databases (where the operational simplicity of a managed service outweighs the slight cost premium) and either Aurora PostgreSQL or OCI for larger databases (where the licence cost dominates).
Oracle on AWS, destination paths
| Destination | Licence model | Operational model | Run-rate vs on-prem Oracle |
|---|---|---|---|
| RDS for Oracle, SE2, LI | License Included (SE2 only) | PaaS, managed by AWS | +10 to +25% |
| RDS for Oracle, EE, BYOL | Bring Your Own (no 2:1 penalty) | PaaS, managed by AWS | -10 to +10% |
| Oracle on EC2, BYOL Dedicated Hosts | Bring Your Own (2:1 vCPU penalty) | IaaS, managed by customer | +15 to +40% on licence |
| Aurora PostgreSQL with SCT | No Oracle licence required | PaaS, managed by AWS | -60 to -80% on database total cost |
| Oracle Cloud Infrastructure | BYOL or Universal Credits | Oracle PaaS | -20 to -40% on Oracle workloads |
RDS for Oracle supports both License Included (Standard Edition Two only) and BYOL (Standard Edition Two or Enterprise Edition). License Included on Standard Edition Two bundles the Oracle licence into the hourly rate, removing licence audit risk and simplifying procurement. For most mid-size estates running Standard Edition Two, RDS License Included is the simplest and cheapest path.
Enterprise Edition workloads require BYOL on RDS. The licence cost is the same as on-premise; there is no 2:1 vCPU penalty on RDS because of the AWS-Oracle agreement. The RDS rate includes the underlying compute, storage, automated backups, multi-AZ failover, and patch management. For Enterprise Edition workloads moving from on-premise with active Oracle Software Update License and Support (SULS), the run-rate cost on RDS for Oracle is typically within 10 percent of the on-premise total cost. The cost saving on Oracle is minimal; the saving is in operational labour and infrastructure cost.
RDS for Oracle versus EC2 for Oracle
Aurora PostgreSQL is the largest cost wedge in the Oracle migration story. The migration removes Oracle licensing entirely. AWS Schema Conversion Tool handles 70 to 90 percent of the schema conversion automatically, with the remaining 10 to 30 percent of PL/SQL code requiring manual conversion to PL/pgSQL.
The conversion cost is significant. SCT analysis typically takes 1 to 4 weeks per database. Manual PL/SQL conversion typically takes 4 to 16 weeks per database depending on the volume and complexity of stored procedures, packages, and triggers. Application-side changes (Oracle-specific SQL syntax, sequences, hierarchical queries, JSON handling) add another 4 to 12 weeks per database. The total migration cost per database typically lands at $60K to $300K depending on complexity.
The run-rate saving is what justifies the conversion cost. Oracle Enterprise Edition with SULS typically costs $47,500 per processor licence plus 22 percent annual support, working out at $58K per processor licence per year fully loaded. A 16-vCPU Oracle EE workload on on-premise (8 processor licences under typical core factor rules) costs roughly $465K per year in Oracle licensing alone, before compute, storage, and operations. The equivalent workload on Aurora PostgreSQL costs zero in Oracle licensing and roughly $35K to $60K per year in Aurora cost. The break-even on a $150K migration cost is typically 4 to 8 months.
A representative cost build for a 10-database Oracle migration mid-market scope, mixed destinations (5 databases to RDS for Oracle BYOL, 4 databases to Aurora PostgreSQL via SCT, 1 database retained on-premise as legacy), mixed sizes, 12-month programme.
Worked Oracle to AWS cost build, 10 databases, 12 months
| Cost line | Low estimate | Typical estimate | High estimate |
|---|---|---|---|
| Assessment, SCT analysis, licence audit | $60,000 | $120,000 | $240,000 |
| RDS for Oracle migration labour (5 databases) | $80,000 | $160,000 | $320,000 |
| Aurora PostgreSQL conversion labour (4 databases) | $240,000 | $520,000 | $1,200,000 |
| AWS DMS replication for all migrations | $8,000 | $18,000 | $45,000 |
| Application-side code changes (Oracle SQL to PostgreSQL) | $100,000 | $220,000 | $500,000 |
| Performance tuning and index rebuild post-conversion | $30,000 | $70,000 | $160,000 |
| Parallel running, 4 months (source + RDS/Aurora) | $120,000 | $260,000 | $520,000 |
| Cutover labour and downtime contingency | $40,000 | $100,000 | $280,000 |
| Oracle licence rebalancing (post-migration) | $25,000 | $60,000 | $140,000 |
| DBA training (Oracle to RDS / PostgreSQL) | $20,000 | $45,000 | $90,000 |
| Security rework (IAM, KMS, audit logging) | $30,000 | $70,000 | $160,000 |
| Contingency at 15 percent | $115,000 | $245,000 | $555,000 |
| Net total estimate | $868,000 | $1,888,000 | $4,210,000 |
The typical-column number, $1.89M for 10 databases over 12 months, looks high. The cost is dominated by the four Aurora PostgreSQL conversions. The 5 RDS for Oracle migrations contribute roughly 25 percent of the total cost. The Aurora conversions contribute roughly 50 percent. The remaining 25 percent is shared infrastructure, training, and contingency. The cost discipline that brings the typical column toward the low column is being selective about which databases get the Aurora treatment; not every Oracle database justifies the conversion cost.
The most overlooked cost saving in an Oracle migration is licence rebalancing on the remaining on-premise estate. Oracle licences typically support a specific total processor count, with the customer free to deploy them across servers. When workloads migrate to AWS, the licences they used on-premise are freed and can be redeployed to extend the on-premise estate, terminate the on-premise estate sooner, or be terminated to reduce annual SULS cost.
The third option is the most cost-effective. Oracle SULS is approximately 22 percent of the licence purchase price annually. Terminating 8 Enterprise Edition processor licences (the example workload above) saves roughly $102K per year in SULS, permanently. This is cash recovered every year going forward, often exceeding the annualised Aurora PostgreSQL run-rate. Most customers leave this saving on the table by not actively managing Oracle licence termination after migration. The teams that capture it work the Oracle relationship through procurement at the same time as the migration, not after.
Oracle migration cost is dominated by Oracle's own licence economics, not by AWS pricing. The teams that produce on-budget Oracle migrations are the ones that understand the licence economics first, choose destinations second, and treat the AWS technology as the implementation detail. The cost discipline starts with the Oracle entitlement audit and ends with the SULS termination after migration. Everything in between is engineering work that follows the licence decisions, not the other way around.
A. A single Oracle database under 1 TB typically costs $20,000 to $80,000 to migrate to AWS, depending on destination (RDS for Oracle vs Aurora PostgreSQL). Larger databases (5 to 50 TB) cost $80,000 to $400,000 each. Aurora PostgreSQL costs more to migrate per database than RDS for Oracle because of the schema conversion work, but saves dramatically on Oracle licence cost downstream.
A. Oracle's published cloud licence terms allow BYOL on AWS EC2 but the per-vCPU rate counts differently than on-premise. Oracle uses a 2:1 conversion ratio for AWS EC2: two AWS vCPUs equal one Oracle processor licence. The conversion was unilaterally introduced by Oracle in 2017 and effectively doubles Oracle licence cost compared with on-premise. This is why many estates either move to Aurora PostgreSQL to remove Oracle licensing entirely, or move to Oracle Cloud Infrastructure (OCI) where Oracle's licence rules are more favourable.
A. RDS for Oracle supports both License Included and BYOL. License Included bundles the Oracle licence into the hourly rate (Oracle Standard Edition Two is included; Enterprise Edition requires BYOL). License Included on RDS does not trigger the 2:1 vCPU conversion that BYOL on EC2 does. For most mid-size estates this makes RDS for Oracle the cheapest Oracle-on-AWS destination.
A. Aurora PostgreSQL is the cloud-native PostgreSQL-compatible database service. Migration from Oracle requires schema and code conversion via AWS Schema Conversion Tool (SCT), which automates 70 to 90 percent of typical workloads. The remaining 10 to 30 percent of PL/SQL code requires manual conversion to PL/pgSQL. The migration cost per database is meaningfully higher than RDS for Oracle ($60K to $300K per database depending on complexity), but the run-rate saving on Oracle licensing is so substantial (typically 60 to 80 percent on database total cost) that the break-even is usually under 18 months.
A. RDS for Oracle migrations of a single database under 5 TB typically complete in 4 to 12 weeks. Aurora PostgreSQL migrations of the same scope typically take 12 to 36 weeks because of the schema and code conversion work. Large estates of 20+ Oracle databases run 12 to 36 months at programme level. The dominant factor is application complexity, not data size: stored procedure heavy databases with custom packages take longer to convert than data-volume-heavy databases with simple schemas.
A. OCI is worth considering for any large Oracle estate where the licence cost dominates the cost case. Oracle's licence terms are more favourable on OCI (no 2:1 vCPU penalty, BYOL universally accepted, Universal Credits model). For estates above 100 Oracle vCPUs, OCI frequently lands at 30 to 50 percent lower total cost than AWS or Azure for the same Oracle workload. The trade-off is OCI's smaller service portfolio and ecosystem; for Oracle-only estates this is rarely a problem, but for estates that also need broader cloud services it limits the strategic value.
AWS migration cost calculator ->
EC2, MAP credits, DataSync
SQL Server to RDS ->
License Included, BYOL trap
AWS DMS pricing ->
Replication instance, CDC
On-prem to AWS ->
MAP, EC2, Snowball
SAP HANA to cloud ->
Another high-licence workload
10 hidden costs ->
Detailed playbook
Strategy cost tables ->
7Rs framework
Updated 2 May 2026