To determine the Database version:Option 1: Database lg fileParse the database log file and search for (4234). This line will list the version of Progress OpenEdge that started the database.
Since OpenEdge 11.7.2, the installed licenses in use when the database server was started are logged
Example:
BROKER 0: (4234) Progress OpenEdge Release 11.7 build 1592 SP03 on WINNT
BROKER 0: (-----) Product: OE Enterprise RDBMS installed with serial number: <serial> expiration: <dd/mm/yyyy)
Option 2: Run a reporting executableThe version of the
executable (not the database) is listed in the command's output. This output is the same as the content of the
DLC/version file.
Irrespective of the Major & Minor version, the version of the
executable will be reported together with error 44 or 1178 if it cannot run
When the Minor version is different, reporting utilities that don't run internally with -RO, will fail to run if the database is online with error 44 but will run the report single-user
Example: OE 11.7.6 RFUTIL against an OE 11.6.4 database.
a. When the database is online: $ rfutil dbname -C aimage extent list
OpenEdge Release 11.7.6 as of Thu Jan 2 19:02:11 EST 2020
The shared memory is version 6413619; expected 6413735 (1178)
b. When the database is offline: $ rfutil dbname -C aimage extent list
OpenEdge Release 11.7.6 as of Thu Jan 2 19:02:11 EST 2020
After imaging is not enabled for this database. (3803)
c. When the Major version is different:
OE 11.7.6 RFUTIL against an OE 12.2 database (online or offline)
OpenEdge Release 11.7.6 as of Thu Jan 2 19:02:11 EST 2020
** Database has the wrong version number. (db: 4280, pro: 4269). (44)
OE 11.7.6 RFUTIL against an OE 10.2B database (online or offline)
OpenEdge Release 11.7.6 as of Thu Jan 2 19:02:11 EST 2020
** Database has the wrong version number. (db: 4246, pro: 4269). (44)
Since OpenEdge 10.1B, PROUTIL -C describe can be used which will not only provide the database version in the command's output, but will also provide additional information about the database like it's last access, backup, enabled features. For further information refer to Article
Option 3: DBVERSION
While the PROVERSION function was enhanced in OpenEdge 11.2 to return
full version information, the
DBVERSION function has not and will return the Database Major version only.
Example:
DEF VAR i AS INT.
DO i = 1 TO NUM-DBS:
MESSAGE PROVERSION(i) SKIP DBVERSION(i)
VIEW-AS ALERT-BOX INFO BUTTONS OK.
Option 4: Diagnose Error 44
When the database is not of the same Major version as the Progress OpenEdge utility or Major Minor version of the client executable, the command or single-user/shared-memory connection will fail with error 44, which is not necessarily a 'bad thing' in this case as the database version is to be determined. However not particularly useful if you're expecting to know the exact database version (say) OpenEdge 11.5, 10.2B, 10.0B or Progress 9.1D. It will however help to identify the Major version of the database. The
db and
pro numeric values returned by the error 44 are the sum of:
the internal Database version + database block size.
Example: ** Database has the wrong version number. (db: 4269, pro: 4246). (44)
database block = 4 K or 4096
database version = 173
4096 + 173 = 4269
For further information refer to Article How to determine the OpenEdge Version based on Error 44
Option 5: Diagnose Error 1178
The Progress version be identified by the Shared Memory version number, when the Major version of the client is the same as the Major version of the database, but the Minor versions differ.
The shared memory is version <num>; expected <num> (1178)
For the list of Shared Memory Version numbers, refer to Article What is the Shared Memory version number for each Progress OpenEdge version?