These are some field tips for migrating Oracle databases to AWS RDS (or custom EC2 instances). Tuning, Monitoring, Pricing, Backup tips are included. Often, a reference to the appropriate AWS document is provided. (Also read AWS' RDS Oracle Full doc)

Getting Data into RDS

There are Multiple Ways of getting your data into RDS

  1. Using AWS DMS
  2. Oracle Data Pump
  3. SQL Developer

Tuning the Sizing of the instance sizes (for RDS or EC2)

Sizing is an important pre-migration aspect before moving to RDS. The required IOPS will likely eclipse all other compute costs.  Fortunately that’s tunable via API calls and one can even drop back to GP2 volumes on weekends or just on ones that are hit less hard.

Pricing - on premises vs. EC2

Clock for clock, IOP for IOP, GB for GB, on-premises is (may be) cheaper if you already have an existing on-premises setup. Shove a bunch of SSDs into some bare metal and you’ll have a very happy database, something you can’t really do on AWS without spending an exorbitant amount of money. However, cost isn't the only consideration. There's a lot more to gain from going to RDS, such as built in monitoring, backups, replication and much more.

Monitoring

There's four levels of monitoring - Cloudwatch, Enhanced Monitoring, OS Processes, Performance Insights. All of these provide different levels of operational metrics on your running Oracle instances.

Can I use Oracle OMS for Monitoring RDS?

Yes - here is the full doc

Oracle ASM

What would be the best way to replicate on prem ASM storage  on AWS ?

This is a tricky one. A couple of

Are Point in Time Restores Possible? How do they work?

Yes - although the exact time depends on the db engine. For most engines, it is up to 5 minutes.

RDS uploads transaction logs for DB instances to Amazon S3 every 5 minutes. To see the latest restorable time for a DB instance, use the AWS CLI describe-db-instances command and look at the value returned in the LatestRestorableTime field for the DB instance. To see the latest restorable time for each DB instance in the Amazon RDS console, choose Automated backups.

Backups - RMAN backups are cost effective

RMAN backups from and to S3 and then take advantage of S3 tiered storage cost options.  This is a cost improvement as in RDS the snapshots cannot be rotated out to lower cost storage tier layers.

Backups are done from Amazon zone to Amazon zone.

Encryption and Oracle AES

  • Automated backups are turned on by default and snapshots are enabled as they are for EC2 instances. You can scale up and down processors as well as scale up and down IOPs allocated for the Oracle instance. You can use Amazon VPC to connect this instance to your data center as well as Amazon HSM to encrypt your data.
  • The two biggest issues that you need to consider with any cloud strategy is security and lock in.

Appendix A - Connecting to the RDS endpoint

If you are unable to connect, it can be one of FOUR possible things:

  1. DNS Resolution is failing for the RDS Endpoint
  2. RDS instance is not set to 'public' (to enable this, you have to have step 1 - dns resolution enabled)
  3. Your own laptop's public IP isn't whitelisted in the RouteTable for the Subnet (containing the RDS Instance)
  4. There isn't a route to the internet (make sure that the data subnet contains a route to the internet)

Open the Amazon RDS console.

rds publicly accessible
rds publicly accessible

Choose Databases from the navigation pane, and then select the DB instance --> Choose Modify --> Under Network & Security, choose Yes for Public accessibility.

VPC Level - Edit --> Enable DNS Resolution

dns resolution vpc
dns resolution vpc

Route to the Internet. Should my Data Subnet (a private subnet) have a route to the internet?

Yes - You do not have to have a 0.0.0.0/0 to the IgW. All you need is your private subnet to go through the NAT gateway to get to the internet

data subnet route to internet
data subnet route to internet





Need an experienced AWS/GCP/Azure Professional to help out with your Cloud Strategy or Hands On Implementation? Set up a time with Anuj Varma.