How to Refresh Production to Non-Production Databases
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.
Abotts Logo Abotts Partners with singapore based tech giant to help migrate their public sector customer from Sybase to SQL server.
Upworks Logo Abotts partners with NYPL to integrate with their partner libraries.
Abotts Logo ABOTTS partners with County in Los Angeles to upgrade their court infrastructure into new technologies.
Upworks Logo Upworks Inc partners with ABOTTS to build their Oracle Cloud Infrastructure (OCI) and migrate their custom applications to OCI.
Abotts partners with startup to manage and maintain their IT infrastructure and support SOC2 reporting.
Gnorth Logo Abotts Inc Partners with Gnorth consulting to deploy exadata and ODA for a large public sector customer.

Production to Non-Production Database Refresh 

Purpose

This document describes the procedure to refresh a non-production environment (QA/UAT/DEV) using the latest database backup from the production environment. The process covers stopping services, taking production backups, transferring the backup files, backing up the non-production databases, restoring the production backups, and starting the application services.

Scope

Source Environment: Production

Target Environment: Non-Production (QA/UAT/DEV)

Databases:

  • gfa
  • annex
  • acc

Prerequisites

  • Ensure no users are connected to the target environment.
  • Verify sufficient disk space is available.
  • Confirm SSH access between production and non-production servers.
  • Ensure the Progress environment (proenv) is available.

Step 1 – Stop Production Services

Navigate to the application scripts directory.

cd /las/prod/scripts

Stop all application and database services.

./stopall

Verify all Progress processes have stopped.

ps -ef | grep progress

The stop process shuts down the PASOE instance, followed by the Progress databases.

Step 2 – Backup Production Databases

Launch the Progress environment.

proenv

Take backups of each production database.

  • probkup gfa gfa_<DATE>.bak
  • probkup annex annex_<DATE>.bak
  • probkup acc acc_<DATE>.bak

Confirm each backup completes successfully before proceeding.

Step 3 – Create Backup Archive

Navigate to the database directory.

cd /las/prod/db/db

Create a compressed archive containing all backup files.

  • tar -czvf db_refresh.tar gfa_<DATE>.bak  annex_<DATE>.bak acc_<DATE>.bak

Step 4 – Transfer Backup to Non-Production

Copy the archive to the target server.

scp db_refresh.tar <user>@<non-prod-server>:/home/<user>/

Verify the file transfer completes successfully.

Step 5 – Stop Non-Production Services

On the target server, stop all services.

/las/prod/scripts/stopall

Verify no progress processes are running.

ps -ef | grep progress

Only the grep process should remain.

Step 6 – Move Backup Archive

Move the backup archive to the database directory.

mv db_refresh.tar /las/prod/db/db/

Extract the archive.

tar -xzvf db_refresh.tar

Step 7 – Backup Existing Non-Production Databases

Before restoring production data, create backups of the current non-production databases.

proenv

  • probkup gfa gfa_nonprod_<DATE>.bak
  • probkup annex annex_nonprod_<DATE>.bak
  • probkup acc acc_nonprod_<DATE>.bak

These backups can be used for rollback if required.

Step 8 – Set File Ownership and Permissions

Assign ownership.

  • chown lasadmin:gfa gfa_<DATE>.bak 
  • chown lasadmin:gfa annex_<DATE>.bak 
  • chown lasadmin:gfa acc_<DATE>.bak \

 

Set permissions.

  • chmod 775 gfa_<DATE>.bak \
  • chmod 775 annex_<DATE>.bak \
  • chmod 775 acc_<DATE>.bak \

 

Step 9 – Restore Production Databases

Restore each database individually.

Restore GFA

prorest gfa gfa_<DATE>.bak

When prompted:

Do you want to overwrite it? [y/n]:

Enter:

y

Restore ANNEX

prorest annex annex_<DATE>.bak

Confirm overwrite.

Restore ACC

prorest acc acc_<DATE>.bak

Confirm overwrite.

The restore process recreates the databases using the production backups.

Step 10 – Start Non-Production Services

After all databases have been restored, start the environment.

/las/prod/scripts/startall

Post-Refresh Validation

Perform the following validation checks:

  • Verify all progress databases are online.
  • Confirm PASOE services are running.
  • Verify application login.
  • Confirm scheduled jobs and background services are operational.

Rollback Plan

If the refresh fails or data validation is unsuccessful:

  1. Stop all services.
  2. Restore the previously created Non-Production backups.
  3. Start all services.
  4. Validate application functionality.