Kbase P164492: PROREST always sets the enableLargeFiles flag in OE 10.2B
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  3/17/2011 |
|
Status: Unverified
SYMPTOM(s):
PROREST always sets the enableLargeFiles flag in OE 10.2B
EnableLargeFiles flag is set for a target db if the flag was set on the source db
Cannot access a probkup taken with Enterprise largefiles enabled error 9818
Only Enterprise systems may access a database with large files enabled (9818)
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.2B
CAUSE:
While this may appear to be a regression since the largefiles feature change in Progress 9.1E and OpenEdge 10.0B++. Where if the target database of a procopy or prorest operation exists in any form (even if only as a void database) without the proutil -C EnableLargeFile flag set, the targets large files setting should not be changed after the operation is completed. This is not a bug, it is the impact of another bug being fixed: Bug# OE00187004, LargeFiles not enabled by PROREST when the variable extent > 2GB. This results in SYSTEM ERROR: Attempted to exceed maximum size on file <pname>. (10601) when extent being restored into exceeds 2GB and the database is then inaccessible. While there are workarounds, the prorest logic was revised in OpenEdge 10.2B which in turn impacts database restores that were taken from databases that already have largefiles enabled.
CAUSE:
Bug# OE00196590
FIX:
For OpenEdge versions prior to OpenEdge 10.2B, Please refer to Solution P98733 which describes the functionality in these versions.
The default prorest behaviour in OpenEdge 10.2B is that when restoring a database backup that has large files enabled, enables large files on the target database, even if the target is an existing database without large files enabled.
In OE 10.2B04 Service Pack a new prorest argument has been added where, the current default behaviour remains the same in the case where a backup from a database with large files enabled is restored over an existing database that does not have large files enabled (ie largefiles is set on the restored target) unless the new prorest argument, "-keeptargetlfe" is applied during the restore, so that the resulting restored database will not have large files enabled. As with the prior OpenEdge 10.2B behaviour, the code does not ensure that a target without large files enabled is sized correctly to accept the data from a backup volumes of a database that has large files enabled. The target structure must be sufficiently sized as described in the 'target.st' file prior to the prorest execution. In the event that the target database structure is too small, the behavior of PROREST is unchanged, it exits with an error and the restore must be restarted after deleting the existing restore and modifying the 'target.st' file accordingly.
The modified command syntax is as follows:
prorest db-name device-name { -vp | -vf | -list | -keeptargetlfe } [-verbose]
Where:
-keeptargetlfe : restores a probkup without enabling large files on the target database.
Until OpenEdge 10.2B04 can be applied to the database server where prorests are executed, the following Workarounds are advised for probkups taken from databases with largefiles enabled:
OpenEdge 10.2B Workaround with an ENTERPRISE License:
Use an Enterprise database license on the server with the Workgroup license installed to restore the largefiles enabled database.
Then procopy the restored database an existing database structure, which is not largefiles enabled.
Finally, replace the Workgroup license.
OpenEdge 10.2B Workaround with a non-ENTERPRISE License:
A. Dump the database at source (with the Enterprise license) then Load (with either license) to unset the largefilesenabled flag
B. Use procopy or prodb instead of prorest to an existing target structure without largefiles enabled.
To check if the largefiles flag is set, run: proutil dbname -C describe
Database Features
ID Feature Active
---- --------------- ---
5 Large Files Yes