Link to home
Start Free TrialLog in
Avatar of sam15
sam15

asked on

How to Migrate Oracle DB to AWS_RDS

Hi

I have an oracle database 19c running on RHEL 7.9 Virtual machine. The DB total physical data files on OS size is 200 GB.

I would like to migrate this this to an AWS RDS service.

Few Questions:

1) Is this an easy task to do for DBA with AWS practitioner certification?

2) How long (days/weeks) on average roughly do you think this task may take?

3) Is there a video or link that shows a demo on how to do this for a sample HR database to do some practice?

4) Do you normally export the DDL and create the DB structure in RDS and then export/import data from source to destination using data pump?


Thanks,

ASKER CERTIFIED SOLUTION
Avatar of Adelaido Jimenez
Adelaido Jimenez
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sam15
sam15

ASKER

Excellent information! I am going to read this in detail today to see if it provides all the info needed. It does not see to provide step-by-step migration for a sample HR database or tables so you can apply for any general database. I can try that using my free AWS tier account.

https://aws-tc-largeobjects.s3-us-west-2.amazonaws.com/CurationMoveToManaged/OracleToRds.pdf#page=23

Do you think a project like this can take 4 -8 weeks or more or less than that? I read in many AWS books that the first cloud migration project usually takes 6 -12 months but that ay include Applications and testing, etc.

There is also another question on Oracle Licenses and engines provided by RDS.

Does RDS service include the licenses or you have to have to bring your own license for the database?
Also, would RDS include a 19c engine. I read that it include support up to 18c.
>> I can try that using my free AWS tier account.

You need to be careful that when 'playing' that you don't accidentally expose the data.  Many a reported data 'breach' is because of an improperly setup cloud server/database.

>>Does RDS service include the licenses or you have to have to bring your own license for the database?

AWS is REALLY good about documenting things:
https://aws.amazon.com/rds/oracle/

>>Do you think a project like this can take 4 -8 weeks or more or less than that?

Define "project"?  Since you asked this question, technically this "project" started this morning or whenever you were given the task. and ends when you are running in AWS.  How long do you think that will take?



All that said:
"how" you do it depends on a LOT on your specific requirements.
Mainly:  Is downtime allowed?  If so, how much?

Of course Amazon will suggest Data Migration Services (DMS) and many use it because of their downtime requirements.

It isn't really as easy as clicking a few buttons and everything magically works.  You have to understand it.

For 200G, I would probably just to an export/import.  It would require the most downtime and has potential problems if something happens after you point the applications to AWS and "something" happens that requires you to migrate back to on-prem. How do you pull any "new" data that is in AWS back to on-prem?

It would probably be the easiest method though.
Avatar of sam15

ASKER

For this project, a read-only reporting copy of DB will be hosted on AWS. the project has not started yet. I am just preparing for it and trying to come up with a rough estimate for the work needed.
So by "project", you mean the physical time from when you start the migration to the time the migration is complete?  No way to really know w/o just picking a method and testing it?  Too many moving parts to come up with a guess.


Still a LOT to consider.

Mainly:
How often does the data need to sync up?

Many more things as it comes to the security of the data.  Creating objects in the Cloud is easy.  Properly protecting it isn't.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sam15

ASKER

no sync needed - one time migration only. I think this really depends on experience with AWS too. If you did it before it will be much easier than first timer.

any idea how AWS  RDS oracle licensing work. Do they ask you when you configure the RDS whether you want to buy it from AWS or bring your own? I wonder if you used RDS licenses how much charge will be involved since these are normally sold per core and expensive.
Yes, when you go an launch your RDS instance it will give you the option of selecting the license type you want to use. Pricing will also depend on the instance size you choose, but typically if you choose the license include it will be a bit more expensive for each instance type you choose.  https://aws.amazon.com/rds/oracle/pricing/
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of sam15

ASKER

I see you both have valid points and provided excellent info  but if your manager asks you roughly how long it will take you to migrate DB from your datacenter to AWS with two assumptions:

1) You have AWS environment configured like : Region, VPC, AZ, subnets, firewalls ,etc. All you have to is create RDS service, migrate schema and data.
2) You dont have AWS environment configured and you have to create VPC, AZ, subnets, etc and then RDS and move data.

Would your answer be in days, weeks, months? let us not forget there are tasks after migration such as data validation and testing, etc. The time saver here is there is we are not migrating applications and no need to test those.
Strictly data from databaseA to databaseB:
I could answer that for my Manager because I've done a full export/import of my database from serverA to serverB.

My current database was TOO big for that so we used Transportable Tablespaces and it took about 6 hours.  It was about 1TB.

Not sure if you could use Transportable tablespaces in AWS or not.  Never ran Oracle in AWS.  We moved from Oracle to Postgres RDS when we went to the Cloud.

So, for your 200GB database, have you ever cloned it to another server?  How long did it take?

Remember: The Cloud is just someone else's computer...

I would to a test run of a full export and find a test/development server and do a full import and time it.

A REALLY REALLY REALLY WAG (Wild Arse Guess), I wouldn't expect the import of a 200GB database to take more than a few hours BUT that depends on MANY things like table to index sizes/ratios/etc...
Avatar of sam15

ASKER

I meant the time for the tasks for whole project not just the time for data move. This include preparation, analysis, migration, validation, tests, etc.
I think I will be using datapump for oracle but it has to be at schema or table level because RDS does not allow access using SYS and a database dump might damage data dictionary or not work.

It is kind of strange that you migrated from the oracle (king of DB) to postrges which is much inferior product but I assume your goal is to save licensing costs. Most migrations i saw were from oracle to mysql to save license money.

>>to postrges which is much inferior product but I assume your goal is to save licensing costs

Everyone is entitled to their opinion.   But yes, it was primarily to save a LOT of money.  If you truly dig down into what you need from a database, you might be surprised.  I was!

>>I think I will be using datapump

Datapump needs the DMP file on the database server.  From a quick Google, seems you can use this in AWS using S3.  It's an extra step you'll need to learn.

>>This include preparation, analysis, migration, validation, tests, etc.

I cannot answer that for you.  I doubt anyone here really can and it be more than a huge guess.  To come up with anything close to a guess, you'll need to know detailed information about the system and skill level of the staff involved.

WAY more information than a simple Q&A site like this can provide.

You do know how much Oracle and AWS charges for consultants to do this exact sort of thing, right?
Avatar of sam15

ASKER

No, I have no idea how much oracle and AWS charge for consultants but my guess it is $200-$300 per hour?
I think I can try doing a small sample DB next week and if that works it should be similar to do the large production DB as it has about 800 tables.
>>I think I can try doing a small sample DB next week

Now you are back to just moving data.  Believe it or not, that is probably the easy part.

You still have the entire cloud architecture to properly secure it.