Kbase P35250: How to tell if proutil -C EnableLargeFiles has been run against a database?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/06/2009 |
|
Status: Verified
GOAL:
How to tell if large files have been enabled on a database
GOAL:
How to find out if large files are enabled?
GOAL:
Has EnableLargeFiles been enabled on a database who's extents are approaching 2GB
GOAL:
When was the feature EnableLargeFiles added to Proutil?
GOAL:
Large database file access is already enabled for database <db-name>. (9453)
FACT(s) (Environment):
Progress 9.1C
Progress 9.1D
OpenEdge 10.x
All Supported Operating Systems
FIX:
When panic sets in about the HWM approaching the upper limits on a database variable extent of 2GB, it is worth knowing if large files have been enabled. There are a couple of logical reasons to rule this out and one physical certainty to prove this. These are discussed below.
o Any Progress version prior to 9.1C could NOT possibly have large file support enabled at the database level, the function EnableLargeFiles was only added to the utility PROUTIL in 9.1C.
o Large files can only be enabled if an Enterprise database license is in use.
To see if Large File Support is enabled you can:
a.) Run the command: $ proutil dbname -C EnableLargeFiles
If it has already been enabled, you will get the message "Large database file access has already been enabled for database (9453)", otherwise it will be enabled against the database in question.
b.) The database log file 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)
c.) run the undocumented dbrpr utility, option 4, to dump the master block.
The bi will first need to be truncated and this is an offline utility, so it can't be run against the live database. It is reasonable to assume, in the absence of change management procedures, that the database would have been backed up before this operation was undertaken, so that last known backup could be restored and investigated, or a probkup -norecover of a hotspare database could be used.
Dump DBKEY 32 for all 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 they are not.
Below is an 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
mmmmmmmmmmm^^
d.) From OpenEdge 10.1B onwards, run the 'proutil dbname -C describe' utility
5 Large Files Yes
Alternatively, 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.
However, even IF large files have been enabled, this does NOT necessarily mean that you're not going to run into trouble:
o You will also need to ensure that there is sufficient disk space available.
o There have been reported incidents of large files support enabled (9426) on an OS/filesystem that supports large files, but that Progress does yet not support large files on that platform.
Prior to OpenEdge 10.x, Linux Intel, SCO OpenServer, SCO UW711 database licenses do not support large files. Associated messages would be:><function>:Insufficient disk space during <system call>, fd <file descriptor>, len <bytes>, offset <bytes>, file <file-name>. (9450)
o The filesystem created when partitioning the drive doesn't support largefiles, or the ulimit hasn't been set to unlimited..