Data movement logic in data guard
Date: Fri, 18 Dec 2020 09:30:17 +0530
Message-ID: <CAKna9VZ1gOxpzduRbDNyriq-stQqrwKUwV60LsO0ubT=+BH5iQ_at_mail.gmail.com>
Its version 11.2.0.4 of oracle exadata. We have a requirement in which we need to move the data to another system and for that we want to utilize the DR database(which is a physical standby with data guard configured) rather than Primary, as we want to not to affect the key applications which are running on primary. And we are almost saturating the DB resources on the primary during peak hours.
For copying/moving data without miss in each ~15minutes interval frequency, we are relying on "date_created" column as reference column of the transaction table , so in case we have some additional lag from primary to DR, is it possible that a record created on primary and DR as below sequence, such that the row-3 created on DR before Row-2? In that case we may miss that row when we take MAX(date_created) from our transaction table to move the data.
In such a scenario , how should we make our logic full proof to pick the max(date_created) on source so that we won't miss any data? Or should we some way utilize the column last_time of v$standby_log to make our logic full proof?
Aso i am wondering if by any way we can handle UPDATE/DELETE of the records in source?
On Primary:-
Row-1 created at 18th DEC 10:00AM with date_created as 18th DEC 10:00AM
Row-2 created at 18th DEC 10:05 AM with date_created as 18th DEC 10:05 AM
Row-3 created at 18th DEC 10:06 AM with date_created as 18th DEC 10:06 AM
On DR when we have lag of say ~5minutes:-
Row-1 created at 18th DEC 10:05AM with date_created as 18th DEC 10:00AM
Row-3 created at 18th DEC 10:11:01 AM with date_created as 18th DEC 10:06AM
Row-2 created at 18th DEC 10:11:02 AM with date_created as 18th DEC 10:05AM
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Dec 18 2020 - 05:00:17 CET