Monday, November 9, 2015

Oracle Database Migration to AWS

I have been wanting to read about how to move oracle databases to the AWS cloud. The initial thought was that it should not be more complicated than a simple import / export and wallah!! I was not too far away from my guess.
AWS offers two types of services to host oracle database:

  • AWS RDS for Oracle
  • EC2
AWS RDS for Oracle
The AWS RDS for Oracle is a managed database service, you may also categorize it under PaaS service offered by Oracle cloud.
This service is good for clients who do not want to spend time and money on database administrative tasks such as backup & recovery, database administration (monitoring, table space management, disk provisioning, etc), patching. You can either Bring Your Own License (BYOL) or use the included license by AWS.

EC2
Running a self managed database is nothing different compared to running a database in a datacenter. The client has the full control of the database with the sys and system account as well as control of the operating system. The licensing on EC2 hosted database is BYOL.

So how do we move our on premise databases on to the AWS cloud? well there are more than a couple of ways to migrate the database I will touch upon the more practical and feasible options.

Import / Export using data pump
Using oracle's data pump utility export the objects and data from the source database and move the exported files on to the AWS instance. Now there are different ways to achieve this in case you are using a database on RDS or using a database on the EC2 instance. The export process remains the same for both. While importing into a database hosted on a,
EC2 instance:
Transfer the files from from the source database to the AWS EC2 instance, There is a tool mentioned in the AWS white paper - Tsunami UDP, is an open-source file transfer protocol that uses TCP control and UDP data transfer over long distance networks.
Once you have the files on the EC2 instance import them using the datapump utility.
AWS RDS for Oracle:
RDS does not give you any control over the file system nor any operating system. You would require here is a bridge instance. A bridge instance is nothing but a  EC2 instance. Move all the exported data pump files on this bridge instance. Using a perl script move the files on the externally exposed DATA_PUMP_DIR directory. Perl script available at https://d0.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf
once the files are available at the location use a PL/SQL script that uses DBMS_DATAPUMP to import the files into the database.

RMAN:
RMAN can be used by backing up the data on the source system, moving it to a S3 bucket and moving it on to a EC2 instance. Restore the RMAN backup to create a database on the AWS EC2 instance.
It is to be noted that you can use the RMAN method only on databases hosted on EC2 instances.

Hope this has helped you in some way to design your migration strategy to move your on premise databases to the AWS cloud.

Reference: https://d0.awsstatic.com/whitepapers/strategies-for-migratiu cng-oracle-database-to-aws.pdf

3 comments:

Chetan said...

How do we get the export dump from RDS instance to an EC2.

Thanks,
Chetan

oracle fusion procurement training said...

Oracle fusion financials online training institute we have our branch over all the india.
Oracle Fusion Cloud HCM Online Training in Hyderabad, Bangalore, Delhi, Chennai, Kolkata, Pune,
Mumbai, Ahmedabad, Gurgon, Noida, India, Dubai, UAE, USA, Kuwait, UK, Singapore, Saudi Arabia,
Canada, Oracle Fusion HCM Online Trainings
oracle fusion financials training
oracle fusion financials online training
oracle fusion Procurement training training
oracle fusion procurement online training

aws jobs in hyderabad said...

I admire the valuable information you offer in your articles. I will bookmark your blog and have my friends check up here often. I am quite sure they will learn lots of new stuff here than anybody else! Regards aws jobs in hyderabad.