Are you still thinking that your Oracle database will remain immutable in your on premises datacenter? There are lots of opportunities to get Oracle databases on the cloud working safely in your provider without worrying about hardware and traditional limitations.
AWS is offering fully-managed Oracle databases on the cloud and you only need a few clicks to deploy Oracle on the cloud. AWS takes care of your backups, your point-in-time recovery, multi-zone high availability, growing storage needs, and also scales up or down depending on your real demand if you need more power or you want to save costs.
Your DBA team will tremble if they read the features natively provided by RDS, the AWS Relational Database Service. The major drawback is how to keep a copy of your data if you don’t completely trust AWS, or if you are worried about vendor lock-in. There are also some concerns if you want the Disaster Recovery out of AWS, because DataGuard is not officially compatible with Oracle RDS.
Instead you can use Oracle GoldenGate to extract the data from RDS, and keep it out.
Let your DBAs focus on improving the database instead of worrying about infrastructure and other painful tasks.
What about RAC?
Oracle RAC is also known as the “anti-cloud” product, and is probably the most difficult one to port to the cloud.
It needs dedicated networks, shared disk access and multicast network, which are usually difficult things to find in cloud providers, at least in public cloud providers. The first question that you must ask is: “Why are you using Oracle RAC? Are you having a high-availability problem or is it a performance one?”
If your case is the first one, you can trust RDS MultiAZ deployment or other HA options, and in the second case, you can shard your data across different nodes instead of a consolidated database.
If you still need Oracle RAC in the cloud, AWS proposed a DIY solution in this link, creating a high-availability iSCSI cluster taking advantadge of instances storage and placement groups to obtain the best network performance possible.
What advantages do Oracle databases on the cloud have over having them in our own datacenter?
What happens when your Oracle is going out of disk space? What happens when you need to run high loads in some particular day of the week or related to an important event?
Oracle databases on the cloud allows you to attach a new disk on-the-fly with almost a single click and without downtime. And not only data disks, it can also be done with your system or software disks.
You can also scale up your instance, but you will have a downtime when rebooting the instance. Sometimes a downtime to get higher performance is better than giving poor performance during several hours or weeks.
You can also take advantage of the cloud storage like Amazon S3 or Azure Storage uploading your backups to a virtually unlimited and durable storage. No more space constraints or retention limits. There are several options to make the best use of such object storage services.
Dataguard in the cloud
If you are using your own installed instances (Dataguard is not available on AWS RDS), you can use DataGuard to protect your data from a disaster.
You can have a synchronized stand-by replica in the same cloud provider, or maybe you want to have this replica in another provider or on premises.
Having a replica doesn’t replace a backup strategy, but improves instead the availability and recoverability of your platform.
You can force DataGuard to get Maximum Protection if you want zero data loss, or you can configure it in Maximum Availability to maximize protection and performance, or you have the chance to set this to Maximum Performance to make the primary database work at full speed.
Oracle GoldenGate is another tool to replicate transactional data between databases. It is compatible with stand-alone instances and with Oracle RDS. It is used for Active-Active database replication, zero-downtime migration and upgrades, disaster recovery, data protection, and same-region and cross-region replication.
We need a dedicated instance to use it as the GoldenGate Hub that will sit between RDS and the destination database. AWS provides a useful guide on how to implement this solution here.
With this tool you can keep a copy of your database in another datacenter, to Oracle databases on the cloud provider or on premises.
Make a POC
Cloud also means no long-term commitments for your infrastructure. Reusability also enables us to build a stripped-down proof of concept version of the setup we want to test at a lower price (remember: only pay for what you use). If you have doubts about these proposals, you can build a small test of and if you are not satisfied with the outcome or you realize that it’s not what you need, you can tear it down. ”Fail fast, fail cheap”, they say. If it works, you can reuse your design and launch in production in a small amount of time.
Remember that you only pay for the services you consume, so let’s try it!