Feedback
Did this article resolve your question/issue?

   

Article

Is Progress compliant with Double-Take Replication Software

« Go Back

Information

 
TitleIs Progress compliant with Double-Take Replication Software
URL NameP118156
Article Number000164283
EnvironmentProduct: OpenEdge
Product: Progress
Version: All supported versions
OS: All supported platforms
Other: OpenEdge Replication, Fathom Replication, PRO2
Question/Problem Description
Is Progress compliant with Double-Take Replication Software?
Are 3rd Party Replication Software certified for Progress?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
Double-Take is a Third Party Replication Software product which has never been certified against our technology, nor do we have any plans to do so. We don't support any 3rd party software replication solutions. The only supported solutions are OpenEdge Replication and PRO2

Technical (but not exclusive) aspects to consider include:

1.  Double Take, is a software replication product that transfers data, at the byte level, from one disk to a secondary disk, offering replication and failover for all types of applications and databases. On-going changes are transmitted continuously. A target disk receives and applies the changes to target volumes. 

In order to guarantee recovery, a Progress database needs to have the Write Ahead Logging (WAL) protocol observed. The Progress Before Image (bi) and After Image (ai) files must be written before the database files. The only way to maintain and ensure the integrity of Progress data would be to update the blocks in the same order that Progress updates them, but Double Take cannot differentiate between these Progress files.

In a true Disaster Recovery scenario, data can be easily be lost as a result of the System Down situation, thus causing database integrity and even accessibility issues afterwards. For example: when the source system dies, it's most likely that the physical database files are out of sync with the BI files, which means that BI rollback recovery may not even be possible on the target database using a Double-Take backup.
     
2.  When the database is running shared-memory, data are in three different locations:
  • memory,
  • binary recover logs and
  • the embedded storage.
Any database backup that is restored needs to ensure that these three states are recorded at exactly the same time-splice to ensure integrity. Double Take takes no account of the data in memory when the database is running shared-memory.

OpenEdge Replication uses on continual transaction roll forward, recording it’s own bi notes. When the target (backup) is needed to restore the production database, it relies on bi recovery in line with OpenEdge database design. A Progress OpenEdge online PROBKUP, ensures that memory resident updates (database buffer pool and the BI buffers) are first flushed to disk before the online PROBKUPis initiated. For further details refer to Article P26453, What happens during an online backup of the database?   
     
3.  The file system block size used by Double Take must match the Progress database block size. This includes the Progress ai, bi and .database data. Apart from the fact that the Progress OpenEdge database allows the selection of one of 4 different database block sizes at database creation time, it also allows all three database file types (ai, bi and data) to be different block sizes within the database.  

While a Double-Take Replication implementation may work in a Proof of Concept environment, any issues encountered while replicating the live database or when relying on the 3rd party backup, would need to be resolved by the vendor.

Workaround
Notes
Last Modified Date11/20/2020 7:14 AM
Attachment 
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.