Use the PROREST utility to restore a full or incremental backup of a database:

prorest -help dbname device-name { -vp | -vf | -list | -describe }
[ -dbrestrict restrict-type ][ -newinstance ][ -verbose ][ -noverify ] 
[ -thread 0 | 1 ] [ -threadnum num-threads ] [ -rbf num-read-buffers ]  
[ -wbf num-write-buffers ]
dbname
Specifies the name of the database where you want to restore the backups.
device-name
Identifies the directory pathname of the input device or standard file from which you are restoring the data.
-vp

Specifies that the restore utility reads the backup volumes and computes and compares the backup block cyclical redundancy check (CRC) with those in the block headers.

To recover any data from a bad block, you must have specified a redundancy factor when you performed the database backup. See Error-correction blocks for more information about error-correction blocks and data recovery.

-vf
Specifies that the restore utility compares the backup to the database block-for-block. Do not compare the backup to a database that is in use.
Note: When you specify the -vp or -vf parameter, PROREST does not actually restore the database. You must restore the database in a separate step.
-list
Provides a description of all application data storage areas contained within a database backup. Use the information to create a new structure description file and database so you can restore the backup. For additional information, see Obtain storage area descriptions using PROREST.
-describe
Provides a description of a database backup file. You can use this information to choose the best backup to restore your backup from. This qualifier is backwards compatible with previous versions of OpenEdge and cross-platform compatible. For more information about the -describe, see Obtain backup file descriptions using PROREST -describe utility
-dbrestrict restrict-type

Protects the restored database from updates by other users by putting the database in a restricted access mode where restrict-type is one of the following values:

  • datamove—Indicates that the next allowable activity on this database is moving data with the datamove utility
  • partitioncopy—Indicates that the next allowable activity on this database is copying data with the partitionmanage copy utility

Adding -dbrestrict enables the same restrictions as PROUTIL DBRESTRICT. See PROUTIL DBRESTRICT qualifier for details of the restrictions.

-newinstance
Specifies that a new GUID be created for the target database.
-verbose

Displays additional information as the restore is performed, such as:

  • If the target of the restore doesn't exist, -verbose lists the target area size information.
  • For restore full verify (-vf) and restore partial verify (-vp), -verbose displays periodic updates that include the number of blocks verified, the elapsed time, and an estimate of the time remaining given the current rate of progress.
-noverify
Allows faster restore completion by skipping backup block cyclic redundancy check (CRC). The -noverify option is useful for recreating a database under time critical conditions, but is disabled by default.
Note: The CRC ensures that the backup file has no physical corruption. Running PROREST -vp (partial verification) routinely after each backup is the best practice. You may also run PROREST -vp in parallel with -noverify, or after you restore the database.
-thread 0 | 1
Enables multi-threaded restore. Zero, or omitting -thread, disables multi-threading, and -thread 1 enables multi-threading. Multi-threading enables serial operations to run in parallel, improving performance. For more information, see Run a multi-threaded restore.
-threadnum num-thread
When multi-threading is enabled, this optional parameter controls the maximum number of threads created by the main process for a restore. The restore utility sets the maximum number of threads as follows:
  • If -threadnum is greater than zero and less than twice the number of CPUs on the running machine, then the specified -threadnum is the maximum number of threads.
  • If -threadnum is greater than twice the number of CPUs, PROREST resets -threadnum to twice the number of CPUs.
  • If -threadnum is omitted, then the number of CPUs is the maximum number of threads, with a maximum value of 6.
  • If -threadnum is zero, then multi-threaded restore is disabled.
These settings ensure that threading does not overwhelm the system.
-rbf

When multi-threading is enabled, this optional parameter specifies the number of read buffers when reading data from backup files. The size of each buffer is db blocksize * -bf (the value used to generate the backup file). For example, if database block size is 4KB, and -bf is 34 (which is the default value) when backing up the database, then the read buffer size is 144KB. With -rbf of 1024, the total memory allocated to read buffers is 1024 * 144KB = 144MB.

The value of -rbf ranges from 100 to 100,000, with default of 1024. On systems with limited resources, you can lower this value to reduce the memory usage.

-wbf

When multi-threading is enabled, this optional parameter specifies the number of write buffers when writing data to the target database. The size of each buffer is 64KB. The value of -wbf ranges from 1 to 100,000, with default of 1024.

The -wbf value must be greater than or equal to the value of the -threadnum parameter. If -threadnum is not specified, adjust -wbf to the number of CPUs. On systems with limited resources, you can lower this value to reduce the memory usage.

The first time you start the database after restoring an online backup, normal crash recovery runs, and any transactions that were incomplete at the time of the backup are discarded.

When you restore a full database backup, consider restoring the backup to a new database. This allows you access to the corrupted database, if necessary. You must restore an incremental database backup to a restored database.

If PROREST encounters corrupted backup blocks that it is unable to recover, you lose the data in the corrupted blocks. The amount of lost data is approximately equal to the number of bad blocks multiplied by the blocking factor.

As you begin the restore procedure for a database, a report appears that indicates the date of the backup and the number of blocks required to restore the database.

For more information on the PROREST utility, see PROREST utility.