Feedback
Did this article resolve your question/issue?

   

Article

Does Progress support the use of 3rd party backup or replication utilities?

« Go Back

Information

 
TitleDoes Progress support the use of 3rd party backup or replication utilities?
URL NameP11836
Article Number000155172
EnvironmentProduct: Progress OpenEdge
Version: All supported versions
OS: All supported platforms
Question/Problem Description
Does Progress support the use of third-party backup tools?
Does Progress support the use of 3rd party replication software?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
From the outset: 3rd Party backup/replication utilities are not supported by Progress, they are supported by the Vendor. 

We do not support issues related to restoration of databases using backup files that were not generated by PROBKUP or taken online without a PROQUIET raised and entire database files included. Neither do we support integrity issues that may arise from 3rd Party Replication technologies. The only supported replication solutions are OpenEdge Replication and PRO2.

There are many 3rd party softwares on the market (used worldwide). If the end user has a requirement to run these on their environment, then Application Partners work together with their end users and that 3rd party organisation in resolving any issues that may arise. We do not supply, certify or have any knowledge of these utilities, that is what their support services specialize in, as we similarly specialize in our products.

Unless the problem can be reproduced without the 3rd party influence, then it's not a Progress technical issue, it is an issue with the 3rd party product which the end user and application partner whom has a vested interest in their application runtime environment, need to resolve together with the 3rd Party vendor.

In a nutshell: use the correct tools for the correct job. For Progress that means using:
  • PROBKUP online or offline. An 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  What happens during an online backup of the database?   
  • PROQUIET for any OS / mirroring / snapshot copies to quiesce the database after first synchronizing database buffers to disk. 
  • OpenEdge Replication for replicated sites.  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
Review the section "Performing an operating system backup" in the OpenEdge Database Administration manual for further details on backing up and restoring a Progress database using non-Progress backup methods and the OpenEdge Replication User Guide.

Considerations with 3rd Party offerings: (this list is by no means conclusive)
  1. While crash recovery succeeds in most instances, the data physically on disk is not anything like the data in a running database (assuming production and reasonable workload). The data you're expecting to see after the restore may not be what is expected and there may very well be be logical data integrity issues that are only discovered too late post restore. These are rarely tested in POC environments when the 3rd Party utility is under consideration.
  2. Anything that's replicating writes on disk is not going to provide a reliable recovery as essentially it is a 'crashed' database that is being recovered with no account of the data in shared-memory when the database was running. 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.
  3. Anything that's backing up "incremental changes to files" or mirroring block updates is not going to be reliable. For databases, the 'files' (ai bi data) are all different and can use different blocksizes that are different to the file system block size and how the 3rd Party decides what qualifies as a 'change'. For databases we're most interested in database blocks, specifically their content. 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 and 3rd Party solutions cannot differentiate between database 'files'.
  4. If the database is ever accessed in single user mode, then forget it. Do not attempt to use a non-Progress backup to copy the files on disk as they are dynamically being updated and the non-Progress tool will most likely catch the files midstream and the resultant files will more than likely be out of sync.
  5. Virtualization layer backups are unreliable for stateful workloads. They cannot safely backup a running database if there are no tools to talk to the database and quiesce the database and filesystem beforehand. Moreover, snapshot mechanisms are not application aware which can cause a multitude of issues in production environments.
Workaround
Notes
References to Written Documentation:

OpenEdge Data Management: Database Administration, Backing Up a Database > Performing an operating system backup

Progress Articles:

Can Third Party tools be used to perform online or offline backups ?   
Is OpenEdge VSS aware?   
Running OpenEdge on Hyper-V with Hyper-V Replication   
Is Progress compliant with Double-Take Replication Software   
Does Progress support Zerto Hypervisor based replication for Disaster Recovery ?   


 
Last Modified Date9/22/2021 1:38 PM
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.