Amazon RDS is a web service used to manage databases, like Oracle, in the cloud. Small- and medium-sized enterprises with databases of normal load, volume, and SLA, can certainly leverage the ease and cost efficiency Amazon RDS offers.
There are two other methods that are widely used to migrate databases with minimal downtime: Oracle Data Guard and Oracle GoldenGate. AWS RDS doesn’t support Data Guard, but luckily it does support Oracle GoldenGate. There are some version constraints though.
The following steps are involved while migrating a database from on-premises to AWS RDS:
— Source database on premises
— Oracle GoldenGate Hub on EC2 instance
— Target database on AWS RDS
Now there could be different topologies for the above 3 components, but we are just using this topology for simplicity. For details on this topology, refer to this very fine and simple Appendix: Using Oracle GoldenGate with Amazon RDS.
Generally and roughly, the steps used to migrate databases from on-premises Oracle database to AWS RDS could be as follows:
— Create target database targetdb in AWS RDS with same parameters as that of the source database sourcedb.
— Create same tablespaces on targetdb in AWS RDS as they exist in source database sourcedb.
— Create same non default users on targetdb in AWS RDS as they exist in source database sourcedb.
— Create same non default roles on targetdb in AWS RDS as they exist in source database sourcedb and assign these roles to users on targetdb.
— Export data/objects from sourcedb database to specific SCN from non default schemas
— Import data/objects into targetdb database
— Configure GoldenGate extract process on sourcedb , for configuration see this
— Configure GoldenGate replicate processes on targetdb , for configuration see this
— Set up Oracle GoldenGate (GG) Hub on EC2 , for configuration see this
— Start GG extract process on sourcedb
— Start GG replicate process on targetdb starting after that SCN until it catch all changes generated on sourcedb database during exp/imp time.
— Then plan the cut-off time for applications to switch to new AWS RDS database after stopping replicat process at targetdb.
— Cleanup of sourcedb.
These are just the skeleton steps and need refining and proper planning. It’s always good to first thoroughly test such action plans. But as you can see, Oracle GoldenGate is a viable tool to migrate databases to the AWS RDS. Pythian has a full range of skills, experience, and capabilities to oversee such migrations as its our daily routine to use GoldenGate to do migrations. And yes, even if AWS RDS is a cloud service, you still need a DBA :)