Progress Database: Move Database Extents


Goals:

  1. How to move a database from a machine to another
  2. How to change the location of the database extents
  3. How to update the location for a database that was copied or moved from one directory to another using an Operating System command
  4. How to update a database that was copied or moved from one directory to another using an Operating System command

Facts:

  1. All Supported Operating Systems
  2. Progress/OpenEdge Versions

Fixes:

The structure description file (.st) is the text-file representation of the database structure that is saved in the .db file.
The .db file, or database control area, acts as a table of contents for the database engine, listing the name and location of every area and extent in the database.
The database structure is written into the .db file for the database, and when a database is moved using operating system utilities, the .db file must be updated accordingly.

The .db file is updated running prostrct repair. It uses an .st file to update the location of the extent file.
Prostrct repair should be used when a database is moved to a new file system or location, so that the directory structure is changed, e.g. when a database is copied from drive c:Progress to drive d:Progress using os utilities.

Steps to follow:

1. Run prostrct list dbname to obtain an up- to-date structure file (.st).
Example:
prostrct list mydb temp.st

2. Edit the structure file to reflect the new paths to the database files.
In the above example, edit the temp.st file.

3. Change all references in the .st file to reflect the new locations where the files will be moved to.

4. Use operating system tools to move the files.

5. Run prostrct repair dbname using the edited .st file to change the structure file to show the new paths.
Example:
prostrct repair mydb modified-temp.st

6. Run prostrct list again to verify the paths to the database files are correct.
Example:
prostrct list mydb new-temp.st

  1. No comments yet.
(will not be published)
*