The PROBKUP Volume Size (-vs) parameter specifies the backup volume size in database blocks. It is only specified it once when issuing the PROBKUP command and therefore relates to every resulting backup volume. If the Volume Size parameter is not specified, PROBKUP assumes there is no limit (REF
Article 000020279) and writes a single backup volume until completion or until the volume (tape or available disc space or user limit) is full. When the volume is full, PROBKUP prompts for the next volume. So the size of the total database must be considered so that there is enough pre-allocated disk space defined in order to avoid the following PROBKUP prompt, which will hang the backup process waiting for input:
Please enter next device/file name or type "quit" to Exit.It is therefore advisory to provide this information in an input file in order that the PROBKUP does not hang waiting for this input should a PROBKUP volume exceed the current available space unexpectedly. Specifying the backup size may require some experimentation in order to get it right under all circumstances. Additional entries can be added to the "backedup" file to accommodate unexpected backup sizes. For example an online PROBKUP that includes a larger than usual BI file. There is no harm in specifying more entries in the "backedup" file than are currently needed, as long as when they are needed, they are available as valid file locations and these file locations have sufficient disk space to accommodate the –vs specified.
The sample "backedup" file that follows is then needed with both the PROBKUP and PROREST utilities. Upon successful operation, PROBKUP stops taking input from the "backedup" file when all database blocks have been backed up. Similarly, upon successful operation, PROREST stops taking input from the "backedup" file when the entire database has been restored.
Create a file named “backedup” using vi or any other text editor:
This file should contain a list of the backup files and their location on disk. A sample file looks like:
/usr1/dbpart2
/usr1/dbpart3
/usr1/dbpart4
/usr1/dbpart5
/usr2/dbpart6
To automatically backup the database to a disk-based file larger than 2 GB in size:
1) Create a file named testbackedup.
For a database with an 8KB blocksize:
probkup dbname /usr1/dbpart1 -vs 262144 < backedup
For a database with a 4KB blocksize:
probkup dbname /usr1/dbpart1 -vs 524288 < backedup
2) Change the file permissions so that it can be executed:
chmod +x testbackedup
3) Run testbackedup from an PROENV command prompt so that the necessary DLC and PATH environment variables are set:
testbackedup
To automatically restore the Database from the 2GB+ disk-based file, use:
prorest dbname /usr1/dbpart1 < backedup
To automatically restore the Database a second time from the 2 GB+ disk-based file (thus overwriting the original database) the "backedup" file must include the "y" character to answer the overwrite prompt "<dbname> already exists. Do you want to over write it? [y/n]:" as follows:
y
/usr1/dbpart2
/usr1/dbpart3
/usr1/dbpart4
/usr1/dbpart5
/usr1/dbpart6
As previously mentioned, it is possible to back up a Progress database using PROBKUP to a single backup volume (disk file) that is larger than 2 GB, or multiple volumes with the appropriate –vs parameter. This can only happen when the file system, disk, ulimit or quotas allow the creation of files larger than 2 GB however. These 2 GB+ files may not be portable to other file systems if these file systems do not handle files larger than 2 GB, so the database will not be restorable from them. The limitation for the size of backup files is set by the operating system or file system. For these portability reasons, Progress recommends not creating backup volume files larger than 2 GB without due consideration.
When writing to Tape, the file size limitation is on the length of the tape. When the database backup volumes are longer than the tape, -vs must be used. This was the original intention of the -vs parameter.
Examples showing the influence of using the appropriate –vs parameter:Example 1: The backup fails, because there are not enough backup volumes defined for the -vs specified:
$ cat backedup
./p1
./p2
./p3
$ probkup dbname ./p0 -vs 50000 < backedup
The last backup was not completed successfully. (1553)
538457 active blocks out of 570938 blocks in dbname will be dumped. (6686)
0 bi blocks will be dumped. (6688)
The blocksize is 8192. (6994)
Backup requires an estimated 4.1 GBytes of media. (9285)
11 volumes are required. (6692)
Restore would require an estimated 538457 db blocks using 4.1 GBytes of media. (9286)
Please enter next device/file name or type "quit" to exit: #./p1
Please enter next device/file name or type "quit" to exit: #./p2
Please enter next device/file name or type "quit" to exit: #./p3
Please enter next device/file name or type "quit" to exit:
Backup failed due to EOF during next output device request. (5057)
!!! ERROR - Database backup utility FAILED !!! (8563)
$ ls -l p*
total 4217504
-rw-r--r-- 1 root system 409439232 Apr 02 09:38 p0
-rw-r--r-- 1 root system 409439232 Apr 02 09:38 p1
-rw-r--r-- 1 root system 409439232 Apr 02 09:39 p2
-rw-r--r-- 1 root system 409439232 Apr 02 09:41 p3 Example 2: The backup completes, using the same definition for the backup volumes, but increasing –vs appropriately:
$ cat backedup
./p1
./p2
./p3
$ probkup dbname p0 -vs 262144 < backedup
The last backup was not completed successfully. (1553)
538457 active blocks out of 570938 blocks in dbname will be dumped. (6686)
0 BI blocks will be dumped. (6688)
The blocksize is 8192. (6994)
Backup requires an estimated 4.1 GBytes of media. (9285)
3 volumes are required. (6692)
Restore would require an estimated 538457 db blocks using 4.1 GBytes of media. (9286)
Please enter next device/file name or type "quit" to exit:
Please enter next device/file name or type "quit" to exit:
Backed up 538457 db blocks in 00:01:15
Wrote a total of 15835 backup blocks using 4.1 GBytes of media. (13625)
Backup complete. (3740)
$ ls -l p*
-rw-r--r-- 1 root system 2147453952 Apr 02 09:45 p0
-rw-r--r-- 1 root system 2147453952 Apr 02 09:46 p1
-rw-r--r-- 1 root system 115592192 Apr 02 09:46 p2