Salesforce

PROBKUP ignores -vs and -com when enabling AI and AIMGT

« Go Back

Information

 
TitlePROBKUP ignores -vs and -com when enabling AI and AIMGT
URL Name000048874
Article Number000112293
EnvironmentProduct: OpenEdge
Version: 10.x, 11.x
OS: Windows
Question/Problem Description
When enabling AI and the AIARCHIVER through online PROBKUP the -vs and -com parameters are ignored.

PROBKUP online for enabling after-image and aiarchiver creates backup volumes that are uncompressed when -com is specified.
PROBKUP online for enabling after-image and aiarchiver creates one uncompressed backup volume when mulit-volumes (-vs) and compression (-com) are instructed.

Example:
$  probkup online <dbname> backup.01 enableai enableaiarchiver -aiarcdir <directory> -aiarcinterval <interval> -vs <blocks> -com < backupfiles.dat > backup.log


 
Steps to Reproduce
Clarifying Information
PROBKUP volumes are split into smaller files with the -vs parameter and input file containing the next backup volume names is provided.
PROBKUP uses the -com parameter to make backup volumes smaller.

PROBKUP fails when more parameters are added to the command line with error 1403

If PROBKUP command line parameter order are moved around, PROBKUP either:
  • Fails with error 1403, or
  • Ignores the last parameters in the command line when taking the backup volume.
Error MessageYou have not supplied a parameter for argument <arg>. (1403)
Defect NumberEnhancement PSC00297359
Enhancement Number
Cause
There is a product limit on Windows platforms on the number of parameters that can be passed to the PROBKUP command line (which uses _mprshut for online and _dbutil for offline backups).
 
The limit is 9 parameters in total, as a consequence:
  • Additional parameters are not read in. The arguments "-vs <blocks> -com" in the above example are the 10th 11th and 12th arguments that are ignored.
  • If the parameter and value split over the 9th parameter, PROBKUP fails with error 1403 as the value for the parameter is not read in. In the above example, if "-vs <blocks>" were the 9th and 10 parameters, probkup would fail with: You have not supplied a parameter for argument vs. (1403)
This issue applies to any valid PROBKUP parameters that are used which exceed the 9 parameter limit.
Resolution
This enhancement has not been implemented in the product.  As an alternative use the workarounds below.
Workaround
Workaround 1: Use a .pf file for Backup parameters

Run PROBKUP with a .pf file providing all backup PARAMETERS through a .pf file as follows: 

$  probkup online <dbname> backup.01 enableai enableaiarchiver -pf backup.pf < backupfiles.dat > backup.log
 
Where there is a Carriage Return after the last line in the .pf, indicated by <CR> do not include it
# backup.pf 
-aiarcdir <directory>
-aiarcinterval <interval>
-bibackup all
-vs <blocks>
-com 
-Bp 32
< CR >
Workaround 2: Call the executable directly

PROBKUP uses _mprshut for online and _dbutil for offline backups.

Example: ONLINE PROBKUP: 
 
$ _mprshut <dbname> -C backup online bkupvol\backup.01 enableai enableaiarchiver -aiarcdir <directory> -aiarcinterval <interval> -vs <blocks> -com < backupfiles.dat > backup.log

Example: OFFLINE PROBKUP:

$ _dbutil probkup <dbname> incremental bkupvol\backup.01 -aiarcdir <directory> -aiarcdircreate -vs 1000 -verbose -com -norecover -estimate < backupfiles.dat

Workaround 3: Change the PROBKUP.bat script to accept more parameters

Modify the PROBKUP script based off the PROUTIL script to accept the required number of parameters. The disadvantage of this workaround is that the modified batch file will need to be included in the deployment routines every time a new version and possibly a Service Pack is installed (although batch files are rarely changed in Service Packs). Refer to the example provided in Article:
Notes
Keyword Phrase
Last Modified Date10/25/2019 2:49 PM

Powered by