Skip to main content
Delphix

Multiple Snapshots Showing Same Timestamp (KBA6748)

 

 

KBA

KBA# 6748

 

Issue

When reviewing snapshots in GUI or CLI, multiple snapshots may show with the same timestamp

clipboard_ec448d67c398fd856fb28f7e68f658c3e.png

clipboard_e47b8b8e30002db97a91f85896ddd5d04.png

Applicable Delphix Versions

Click here to view the versions of the Delphix engine to which this article applies
Major Release All Sub Releases
6.0 6.0.0.0, 6.0.1.0, 6.0.1.1, 6.0.2.0, 6.0.2.1, 6.0.3.0, 6.0.3.1, 6.0.4.0, 6.0.4.1, 6.0.4.2, 6.0.5.0

5.3

5.3.0.0, 5.3.0.1, 5.3.0.2, 5.3.0.3, 5.3.1.0, 5.3.1.1, 5.3.1.2, 5.3.2.0, 5.3.3.0, 5.3.3.1, 5.3.4.0, 5.3.5.0 5.3.6.0, 5.3.7.0, 5.3.7.1, 5.3.8.0, 5.3.8.1, 5.3.9.0

5.2

5.2.2.0, 5.2.2.1, 5.2.3.0, 5.2.4.0, 5.2.5.0, 5.2.5.1, 5.2.6.0, 5.2.6.1

5.1

5.1.0.0, 5.1.1.0, 5.1.2.0, 5.1.3.0, 5.1.4.0, 5.1.5.0, 5.1.5.1, 5.1.6.0, 5.1.7.0, 5.1.8.0, 5.1.8.1, 5.1.9.0, 5.1.10.0

5.0

5.0.1.0, 5.0.1.1, 5.0.2.0, 5.0.2.1, 5.0.2.2, 5.0.2.3, 5.0.3.0, 5.0.3.1, 5.0.4.0, 5.0.4.1 ,5.0.5.0, 5.0.5.1, 5.0.5.2, 5.0.5.3, 5.0.5.4

4.3

4.3.1.0, 4.3.2.0, 4.3.2.1, 4.3.3.0, 4.3.4.0, 4.3.4.1, 4.3.5.0

4.2

4.2.0.0, 4.2.0.3, 4.2.1.0, 4.2.1.1, 4.2.2.0, 4.2.2.1, 4.2.3.0, 4.2.4.0 , 4.2.5.0, 4.2.5.1

4.1

4.1.0.0, 4.1.2.0, 4.1.3.0, 4.1.3.1, 4.1.3.2, 4.1.4.0, 4.1.5.0, 4.1.6.0

Cause

This issue can occur in the following condition:

  • dSource is a standby database in real time apply mode
  • No log switch has taken place between snapshots

When the Delphix Engine takes a SnapSync it ideally needs a log switch to be performed at the end of the SnapSync to allow for accurate mapping of Oracle SCNs to timestamps. When the dSource is a standby in real time apply mode this cannot be done automatically by the Delphix Engine, as such Delphix must selected the best safe timestamp to use, which is the start time of the current redo log.

If multiple SnapSyncs are performed without a log switch, then they will all use the same start time of the current redo log as their LATESTCHANGEPOINT.TIMESTAMP, resulting in the duplicate snapshots.

Resolution

To resolve this issue, we must ensure that a log switch is performed after ( or before or both ) every SnapSync, this can be done by creating a script which forces a log switch on your primary database server, which will cascade to the standby.

An example of how this could be done is below. The exact method of forcing a log switch is not important, only that it is done.

 

1. Create script on primary server to switch the logfile

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
export ORACLE_SID=DBOMPRA8F280
$ORACLE_HOME/bin/sqlplus / as sysdba << EOF
alter system switch logfile;
exit
EOF

2. Ensure ssh-keys between primary and standby are configured.

3. Configure Post Sync hook to call the remote script.

clipboard_e43564c5b47e4195b7a3319ee37f7d35d.png

Known issues

While this solution will ensure a log switch is performed after each snapshot, the hook script will run after Delphix waits 5 minutes for the log to be automatically archived. If the log is not archived in this time a fault will be generated. A more complete workaround could make use of the api to query the snapshot job until it reaches the "event.jobs.oraclesnl.waiting.logsync" state, and then perform the snapsync. This would need to be run as a Pre Sync hook in the background.

 

 

Related Articles

The following articles may provide more information or related information to this article: