When the Area High Water Mark (HWM) is approaching 2GB upper limits on a database variable extent, it is worth knowing if large files have already been enabled for the database.
There are a couple of ways to validate this. The first are facts that can be used to rule this out and the next outline physical certainties to prove if the database has the large files feature enabled. These are discussed below.
Progress OpenEdge large files feature factoids:
- Only an Enterprise Database License supports the largefiles feature.
- Large files are not supported and cannot be enabled prior to Progress 9.1C, where the feature was first introduced.
- Prior to Progress 9.1E, Linux Enterprise database licenses do not support large files.
- Progress does not support files larger than 2 Gigabytes on SCO Unixware or OpenServer Operating System platforms, which is no longer a supported Platform since OpenEdge 11.
- Since OpenEdge 12, large file support is enabled by default when opening a database on a system where the Enterprise Database License is installed, if it is not enabled already. Opening a database on systems running with a sub-enterprise license (Workgroup and Personal) will disable large file support, if it is enabled.
Verfifying the Large File Feature:To verify if Large File Support is enabled the following methods are listed in order of recommendation:
1. Query the Large File Support FeatureSince OpenEdge 10.1B, the introduction of
PROUTIL -C describe is the easiest option. It can be run online or offline and provides a basic description of the database and details which features are enabled for the database.
When not enabled, the Large Files Feature will
not be listed under the Database Features Section of the output:
ID Feature Active Details
---- --------------------------------- ------ -------
5 Large Files Yes
Similarly, the
_DataBase-Feature VST can be queried for example as follows:
FIND _DataBase-Feature NO-LOCK WHERE _Database-Feature._DBFeature-ID = 5 NO-ERROR.
IF _DBFeature_Enabled = '1' THEN
DISP "Largefiles are Enabled" SKIP
_DBFeature-ID FORMAT ">9" LABEL "ID"
_DBFeature_Name FORMAT "X(20)" LABEL "NAME"
_DBFeature_Active FORMAT "9" LABEL "ACTIVE"
_DBFeature_Enabled FORMAT "9" LABEL "ENABLED" WITH SIDE-LABELS.
ELSE
MESSAGE "Largefiles are NOT Enabled"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
2. Parse the database log fileHistoric database lg files can be parsed for the message:
Large database file access has been enabled. (9426)
-or-
Large database file access enabled for database <db-name>. (9425)
3. Enable Large FilesRun the offline command:
proutil dbname -C EnableLargeFilesThis will either enable the large files feature against the database in question or fail if it has already been enabled with the message:
Large database file access has already been enabled for database (9453)
4. Read the Database Master Block.An Enterprise database is enabled for Large File Support when either:
- The .st file used during a PROSTRCT CREATE contains a fixed (f) or fixed variable (v) extent with a size greater than 2GB.
- After the "PROUTIL -C EnableLargeFiles" command has been run.
- A large file enabled database is restored with PROREST or PROCOPY. Refer to Article How do prorest and procopy work with Large File Support?
Once Large File Support has been enabled, the database Master Block is updated accordingly.
To read the database Master Block, the bi will first need to be truncated before running the DBRPR offline utility.
It would be recommended to have a backup of the database taken prior to using this utility.
Run the
PROUTIL -C dbrpr utility,
Option 4. Dump Block, from the
Schema AreaTo dump the Master Block:
- Dump DBKEY 32 for all database block sizes except 8K.
- For 8K database blocksize, dump DBKEY 64.
In the resulting
32.dmp or
64.dmp file:
HEX
offset 22 is the largefile enabled flag and is equal to:
- 01 if Large Files are enabled,
- 00 if Large Files are not enabled.
Example:
>0000 0000 0020 017F 0002 0000 0000 0000 000B
>0010 045B 0000 0000 0003 0000 0000 0002 0000
>0020 0000 0100 0000 0000 0001 4CD3 0000 0000
-----------^^When the large files feature is enabled:Even if large files have been enabled against the database, this does not necessarily mean that all future filesize limit issues are solved.
- Sufficient disk space needs to be available for variable database extents to grow.
- The filesystem created when partitioning the drive must support largefiles and ulimits need to be set accordingly
- The large files feature on the Database does not include client temp files. The 2GB limit on client temp files was lifted in OpenEdge 10.1C and has nothing to do with the large files database feature being enabled or not.