DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Cloud Database Services Compared: AWS, Microsoft, Google, and Oracle
  • Relational DB Migration to S3 Data Lake Via AWS DMS, Part I
  • Migrating Data From Amazon Neptune to PostgreSQL Using AWS Services
  • Securing AWS RDS SQL Server for Retail: Comprehensive Strategies and Implementation Guide

Trending

  • Memory Leak Due to Time-Taking finalize() Method
  • System Coexistence: Bridging Legacy and Modern Architecture
  • Introduction to Retrieval Augmented Generation (RAG)
  • Proactive Security in Distributed Systems: A Developer’s Approach
  1. DZone
  2. Data Engineering
  3. Databases
  4. Lessons from Migrating an Oracle Database to AWS RDS

Lessons from Migrating an Oracle Database to AWS RDS

Migrating an on-prem Oracle database to AWS RDS brings cost savings and automation but comes with performance tuning limits, upgrade challenges, and DBA restrictions.

By 
arvind toorpu user avatar
arvind toorpu
DZone Core CORE ·
Apr. 02, 25 · Analysis
Likes (2)
Comment
Save
Tweet
Share
3.7K Views

Join the DZone community and get the full member experience.

Join For Free

After nearly a decade of managing our on-premise database infrastructure, our team finally took the plunge into cloud database services with AWS RDS. The migration journey came with its share of surprises — both pleasant and challenging. Here's what I discovered during our transition to AWS RDS managed services, along with key insights that might help your organization make informed decisions about your own database strategy.

I still remember the morning my boss walked into our weekly team meeting and dropped the bomb: "We're finally moving our databases to the cloud."

After years of babysitting our on-premise Database infrastructure — the 2 AM alerts, the sweaty backup restoration drills, and those nerve-wracking version upgrades — I had mixed feelings. Part excitement, part dread, and a healthy dose of skepticism.

It's been 14 months since we completed our migration to AWS RDS, and boy, do I have stories to tell. If you're considering a similar move, grab a coffee. This might save you some headaches.

The cloud migration journey is often described in broad, theoretical terms, but nothing prepares you like firsthand experience. Having recently migrated an on-premises Oracle database to AWS RDS (Relational Database Service), I encountered a mix of cost savings, operational advantages, limitations, and unexpected challenges.

This article is not just a technical rundown but an interactive guide based on real-world scenarios, providing insights into savings, ease of management, automation, restrictions, and more. If you’re considering a similar move, this breakdown will help you navigate the transition effectively.

Cost Savings: Reality vs. Expectations

Expectation

Moving to AWS RDS will significantly reduce infrastructure and maintenance costs, as we no longer need to manage hardware, networking, or patching manually.

Reality

  • Compute and storage savings. We saved a lot by right-sizing the instances instead of over-provisioning hardware like in on-prem setups. AWS’s pay-as-you-go model allowed us to scale down when needed.
  • Licensing costs. If you use AWS RDS for Oracle with the "License Included" option, you avoid hefty upfront Oracle licensing costs. However, if you go with "Bring Your Own License (BYOL)," the savings might not be as significant.
  • Networking and data transfer costs. Data egress charges were higher than expected, especially for frequent inter-region data transfers.
  • Storage autoscaling. AWS RDS allows auto-scaling storage, reducing the risk of unexpected downtime due to insufficient disk space. However, increased storage means increased costs.

Lesson Learned

Savings depend on usage patterns, licensing choices, and data transfer needs. Make sure to right-size instances, monitor storage growth, and optimize data transfers to avoid cost surprises.

Performance: Tuning for the Cloud vs. On-Prem

Expectation

Cloud databases should perform as well as or better than on-prem setups due to AWS’s optimized infrastructure.

Reality

  • I/O performance considerations. Unlike on-prem setups where we controlled disk configurations, AWS RDS relies on EBS volumes. Selecting the right IOPS (Provisioned IOPS vs. General Purpose SSD) was crucial.
  • Network latency. Applications relying on low-latency on-prem database connections experienced increased query response times initially. AWS Direct Connect or VPN Peering helped mitigate some of this.
  • Parameter tuning restrictions. Some Oracle init.ora parameters are not customizable in RDS, limiting deep performance tuning compared to on-prem environments.

Lesson Learned

To maintain performance, choose the right storage type, optimize queries for cloud latency, and adjust memory settings within AWS RDS limitations.

Ease of Management: The Hands-Off Advantage

Expectation

Cloud-managed services will eliminate the operational overhead of routine database management.

Reality

  • Automated backups and snapshots. AWS RDS automates daily backups and point-in-time recovery, which eliminated manual backup scheduling.
  • Automated patching. AWS RDS applies patches automatically, reducing maintenance efforts. However, patching schedules must be planned carefully to avoid downtime.
  • Instance reboots and failover. While failover to a standby instance in a multi-AZ deployment was seamless, it still introduced a few seconds of downtime for active connections.
  • User management restrictions. We no longer had SYSDBA access, meaning certain advanced administrative tasks had to be handled through AWS support or workarounds.

Lesson Learned

AWS RDS significantly reduces operational overhead, but the trade-off is limited direct control over certain DBA functions.

Automation: A Game Changer for Scaling

Expectation

AWS RDS will enable easy automation for scaling, backups, and maintenance.

Reality

  • Scaling compute and storage. With RDS, we could scale up instance sizes or enable storage auto-scaling without downtime (except for compute scaling, which required a reboot).
  • Infrastructure as Code. Using AWS CloudFormation and Terraform, we could automate database provisioning and deployments, making it easy to spin up test environments in minutes.
  • Database snapshots and cloning. Creating a new database from a snapshot was much faster than on-prem restores, making it a game-changer for Dev/Test environments.

Lesson Learned

Automating database provisioning, scaling, and backups through AWS services and scripts simplifies cloud database management, reducing manual intervention.

Patching and Upgrades: A Double-Edged Sword

Expectation

Cloud patching should be seamless and less disruptive than manual patching on-prem.

Reality

  • Automatic patch application. While AWS RDS handles Oracle patching, the exact timing and details of patches aren’t always transparent.
  • Major version upgrades. AWS does not support major upgrades in place. We had to create a new instance and migrate the data, which required additional downtime planning.
  • Downtime considerations. While minor patches had minimal impact, major version upgrades required significant preparation and testing.

Lesson Learned

Patching is easier, but plan for major version upgrades as a migration, not an in-place update.

Security and Compliance: A Shared Responsibility

Expectation

AWS will handle database security, reducing compliance risks.

Reality

  • Encryption at rest and in transit. AWS RDS enables default encryption with KMS for storage, backups, and snapshots.
  • Access control. IAM authentication simplified credential management, but we had to carefully configure Security Groups and VPC settings to ensure secure access.
  • Auditing and compliance. AWS provides logs, but advanced auditing features (e.g., Oracle FGA) required additional setup and CloudWatch integration.

Lesson Learned

While AWS offers built-in security, DBA responsibility doesn’t disappear — careful access control, logging, and compliance checks are still necessary.

Final Thoughts: Is Moving to AWS RDS Worth It?

Absolutely — if planned correctly.

Migrating an on-prem Oracle database to AWS RDS delivers significant cost savings, automation, and ease of management. However, performance tuning, licensing choices, network costs, and security configurations require careful consideration.

Would I do it again? Yes. But I’d fine-tune instance selection, plan upgrades better, and optimize network costs more proactively.

Thinking of migrating? What’s your biggest concern about moving to the cloud? Drop your thoughts below!

AWS Cloud database Oracle Database Relational database

Opinions expressed by DZone contributors are their own.

Related

  • Cloud Database Services Compared: AWS, Microsoft, Google, and Oracle
  • Relational DB Migration to S3 Data Lake Via AWS DMS, Part I
  • Migrating Data From Amazon Neptune to PostgreSQL Using AWS Services
  • Securing AWS RDS SQL Server for Retail: Comprehensive Strategies and Implementation Guide

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!