Let’s work together
Want to discuss potential opportunities? Pick the most suitable way to contact us.
Book a call+370 5 2 780 400
info@ba.lt
Regular maintenance that involves significant system downtime can cause interruptions for users trying to access the system. However, there are methods to reduce downtime for most maintenance tasks.
If you have in mind a Progress OpenEdge upgrade, transitioning to the cloud, platform migration, undertaking a dump and load process, or any other major project that will cause the database to be unavailable for hours on end, it is of utmost importance to commence by contemplating a few essential elements. First, you need to be clear about what activities will require downtime and how long they will last. If the estimated duration of downtime exceeds the acceptable period, you need to use innovative approaches to shorten the downtime. This is where Pro2 steps in.
In this blog post, we will explore how Progress OpenEdge services – particularly Pro2 – can help you minimise downtime due to database dump and load or replication processes.
Pro2 is divided into two parts: Change Data Capture (CDC) and Replication. CDC saves updates, creates, and deletes in the database using Replication Triggers or Native CDC (11.7+) in a table named ReplQueue.
The Replication function then replicates the most recent record to the target database indefinitely. The source and destination records are linked using the source record’s ROWID. The target table contains an additional column called prrowid that records the source ROWID and has a unique index.
Pro2 can replicate the OpenEdge database to MSSQL, Oracle or other OpenEdge databases. Moreover, it is also possible to replicate several source databases into one or multiple target databases.
Bulk load method is used for the initial copy of the whole database, which transfers all tables with all its records. Only after that, we can use real-time replication. However, this is a part that takes, by far, the most time.
The image below depicts the functionality of Pro2 in generating a newly dumped and loaded database, which is then the focal point of Pro2 replication.
Figure 1
Box 1 is where the current production database is running with users connected. Box 2 is where a new database is receiving updates from the production database. The dump and load process are accomplished by the bulk load process described above.
To replace the database in Box 1 with the new database in Box 2, follow these steps:
Typically, for the majority of databases, the required downtime is under two hours, and frequently, it’s even less than one hour, regardless of the size of the database.
If you are a Pro2 customer, then you have an extra challenge. You not only need to take downtime for the dump and load process on your production database, but you also need to take downtime on the target database for the bulk load process. This is because all the ROWIDs changed on the source database.
The bulk load process can take three to five days to complete, which may not seem like a big deal initially, as no business processes depend on the target database. However, over time, that target database becomes as critical as the source production database, if not more critical. Therefore, a three- to five-day outage for most customers to build out the Pro2 target is unacceptable.
We can utilise Pro2 to construct a supplementary channel for these consumers once more. This approach entails moving data from a Progress OpenEdge database to a destination database, as previously defined. The target database in this instance is MSSQL, and the platform is being migrated from HPUX to Linux. The graphic below depicts this procedure.
Figure 2
In the picture above, Box 1 and Box 2 exist. First, we build the path to Box 3, which is the dump and loaded database similar to the database in Figure 1. Then we build out the path from Box 3 to Box 4. The trick to make this work with Pro2SQL is to enable second-pass replication, where the second-pass replicates to the OpenEdge database in Box 3. Once the bulk load is completed for Box 3, then the path from Box 3 to Box 4 is created and bulk loaded.
The go-live process is to migrate to Box 3 and Box 4. The downtime required for the cutover is the time it takes to remove the prrowdid field and index for the database in Box 3. The typical downtime is less than one hour
We understand that reducing project downtime is crucial for success. However, limited downtime windows require creative solutions. Parallel processing may not be enough. That is why we have a solution – Progress OpenEdge services, which offers specialised tools to reduce downtime to just a few hours.
Progress OpenEdge services are the ultimate solution for businesses looking to stay ahead of the curve in today’s digital age. With its cutting-edge services and expert development, OpenEdge provides unparalleled performance and scalability for companies of all sizes.
So, if you want to consult about Progress OpenEdge development, please contact us – the Baltic Amadeus team. We take pride in being experts in the field, and we are committed to ensuring that your project runs smoothly and efficiently.
Want to discuss potential opportunities? Pick the most suitable way to contact us.
Book a call+370 5 2 780 400
info@ba.lt
Master your Progress OpenEdge logging skills by learning about the LOG-MANAGER system handle and the OpenEdge Logger Framework.
Find out what Microsoft Fabric is and how you can harness the potential of this platform to make strategic business decisions.
Read the blog post about Drupal, its different versions, and its benefits. Learn why Drupal migration is essential for your website.