Vishal desai’s Oracle Blog

August 5, 2019

Cross Region DR for Oracle RDS

Filed under: AWS, RDS — vishaldesai @ 9:37 pm

There is a fantastic blog entry on how to automate DR on Amazon RDS for Oracle Databases. One of my customer had on-premise database of 1 TB database with transactional activity peak of 50 GB and had RPO and RTO requirements of 2 hours and 4 hours respectively. Before they migrate to RDS they wanted to know if solution can fulfill their RPO and RTO requirement so I carried out few tests.

Demo environment:


I built Database orcl in us-east-1 using swingbench. For first/baseline snapshot, it took 1 hour 25 minutes to create it, 50 minutes to copy from us-east-1 to us-west-2 and 19 minutes to restore it. First/Baseline snapshot numbers could be large depending upon the size of your database. I tweaked swingbench such that it generates 50 GB of archive logs in an hour. Incremental snapshot at T2, took 13 minutes to create it, 11 minutes to copy from us-east-1 and us-west-2 and 18 minutes to restore it. I performed number of incremental updates and all the snapshot creation, copy and restore numbers were in same ball park number.


Assuming snapshot is scheduled every hour, if there is an event at 1:14 pm (worst case scenario), PIT snapshot available will be from 12:00 pm. In that case data will be lost of 1 hour 14 minutes and snapshot will be restored by 1:45 pm. So RPO was 1 hour 14 minutes and RTO was 31 minutes. Another box demonstrates failure after snapshot completion but before snapshot copy was complete.

Bottom portion of spreadsheet shows RTO and RPO for 30 minutes snapshot schedule.

As you can see from this test that RPO and RTO requirements for this customer are achievable and Oracle RDS will be great choice as a first step to migrate to AWS cloud and hopefully migrate to Aurora later in future.


Copy/Restore times do not extrapolate so carry out testing based on your requirements. Do not assume that a 20 TB database is going to take 20x to copy/restore.

Always perform cross region timing calculations on incremental snapshot.

Blog at