If Oracle RAC is implemented with DataGuard (no VERITAS solution is implemented) at Primary site and due to some reason (suppose power failure at Primary site) , the DR site need to online(need to execute failover from Primary to DR). Now the DR site Oracle data will come in read/write mode. When we need to fail back to Primary site (after some time when power restored) we have to re-replicate complete Oracle data from DR to Primary site instead of only changed data at DR site. Its a limitation from Oracle side. AS PER MY UNDERSTANDING
1.a) Suppose if we have VERITAS HA/DR solution installed and configured with replication mechanism VVR with Oracle RAC at Primary Site. My assumption is we dont need to re-replicate complete Oracle data from DR site to Primary site and we can failback easily. Correct ?
1.b) Suppose if we have VERITAS HA/DR solution installed and configured but the replication mechanism is DataGuard instead of VVR with Oracle RAC at Primary Site. My assumption is we dont need to re-replicate complete Oracle data from DR site to Primary site and we can failback easily. Correct ?
As my understanding, yes they are both doing "incremental" data sync between Primary and DR(Secondary) site.
When talking about "failback" after Primary site recovery, VVR with GCO use DCM to record changed data, which is needed to sync back to Primary site, during Primary down. And VVRPrimary resource in GCO will make sure that switch back after sync completed.
But with GCO(VCS) and DataGuard(without VVR), I don't know how DataGuard should be configured in GCO to guarantee data syncing back to Primary complete before "failback" to primary.
When you need to fail back to Primary site (after some time when power restored) if you have to re-replicate complete data from DR to Primary site instead of only changed data at DR site when not using VCS, then you will have to do the same when using VCS - i.e VCS runs the commands provided by the replication product - VCS can't implement new features.
If the replication product allows you to replicate only changed data at DR site, then you can do this in VCS manually or via VCS if it has being implemented in the replication agent code:
With VVR you can:
1. Set AutoResync flag so it is done automatically - I do not recommend this - see https://www-secure.symantec.com/connect/forums/vcs-failover-0#comment-10316631
2. Use action "fbsync" on RVGPrimary resource - see extract from VCS bundled agents guide:
fbsync: This is an action entry point.
It resynchronizes the original Primary with the new Primary that has taken
over with fast-failback, after the original Primary had become unavailable.
This needs to be executed when the original Primary becomes available and
starts acting as a Secondary.
3. Do manually using vradmin fbsync
With ODG you can use VCS agent action by using action FlashbackRecover:
Executes the dgmgrl reinstate command for the database
that needs flashback recovery after disaster recovery.
This action function must be executed on the new primary,
typically in the following conditions:
After a successful failover is completed as part of a disaster
recovery operation, and when the old PRIMARY is available
now but in the Physical Standby (disabled) role.
The FlashbackRecover action function first tries to restart the
old primary database in mount mode and then executes the
dgmgrl reinstate command. If the recovery fails with the
Oracle error codes ORA-01031 or ORA-16653, the action
function retries the procedure.
Because the agent restarts the old primary database using
dgmgrl commands, that is, outside of VCS control, it
temporarily freezes any child group that contains an Oracle
resource with the same SID.
On successful execution of this action function, the role of the
old PRIMARY changes from Physical Standby (disabled) to
Note: For this action function to work properly, you must ensure
that FlashBack is enabled at the primary site as well as the
Disaster Recovery site.
I am no Oracle expert, but it sounds like you need to enable "FlashBack" in Oracle (may require a license) and then you need to set "Flashback" on the VCS agent attribute which I guess tells the agent to use flashback when primary takes over so that changes are recorded if you want to do a Flashback recover.
I asume that via :
- VVR we can offcourse sync the changed data from New Primary to Old Primary with the help of Fbsync/DCM.
- In case of Oracle Data Guard we can also sync the changed data from New Primary to Old Primary via Flashback(may require a license)