How do you perform a DR test?

From: Martin Bach <>
Date: Fri, 18 Nov 2011 09:47:29 +0000
Message-ID: <>

Good morning listers,
an interesting question has surfaced recently at my customer. In short: how do you perform a DR test? To add a little complication, this is /not/ application specific-in other words, the test is against the Oracle release, not an application. I know it's wrong but I can't help it.

In the past, it has been agreed that a DR test includes the following scenarios:

  • SRDF/A replication: split of the mirror, restart of the database on the DR server. Check that everything comes up, do block check verification (dbv) and connect applications
  • Data Guard - maximum performance: same procedure, manual and broker initiated switchover. The second test included a manual and broker initiated failover
  • Data Guard - maximum protection (don't ask, it's a requirement). Same test as with max performance.

For some reason there are parties who doubt that Data Guard Maximum Protection doesn't do what it says on the tin. How can you prove them wrong? Pointing to the documentation not allowed!

So rather than running a synthetic benchmark with next to nil probability of proving that no data was lost after a failover, I created a number of jobs (150) that all insert into a table in 1 second intervals, using a timestamp and job_id. After failing over I flash all databases back to the standby_became_primary_scn and compare the table I have been inserting to on both side. Unsurprisingly they are identical. Is there a better way to do this?

Martin Bach


Received on Fri Nov 18 2011 - 03:47:29 CST

Original text of this message