75

How to check db2 version on Z/OS using only SQL commands?

Thanks, Melita

0

17 Answers 17

70

You can try the following query:

SELECT service_level, fixpack_num FROM TABLE
  (sysproc.env_get_inst_info())
  as INSTANCEINFO

It works on LUW, so I can't guarantee that it'll work on z/OS, but it's worth a shot.

Sign up to request clarification or add additional context in comments.

2 Comments

Damn and blast. I wish things would work the same between the two.
Example of execution:SELECT service_level, fixpack_num FROM TABLE(sysproc.env_get_inst_info()) as INSTANCEINFO DB2 v11.1.4.4','4'
29
SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1

4 Comments

This returns a value like 'DSN090100'. To see what that means checkout the link in @Michael Sharek's answer.
Link in answer referenced above currently redirects here. Adding for future reference, in case IBM deprecates the original link.
I have SQL0440N No authorized routine named "GETVARIABLE" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884 on this
Current link for meaning of result: ibm.com/docs/en/db2-for-zos/…, detailed explanation what that function level means: ibm.com/docs/en/db2-for-zos/13.0.0?topic=13-db2-function-levels
23

There is also the env_inst_info admin view. As with CanSpice I can only vouch for LUW, but there should at least be a similar view available for Z/OS.

SELECT * FROM SYSIBMADM.ENV_INST_INFO

1 Comment

For me, it is SYSIBMADM.ENV_SYS_INFO. Since I cannot find the table you provided, I just look at the tables under SYSIBMADM that looks like it. Thanks for this answer I found mine.
12

There is a typo in your SQL. Fixed version is below:

SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1;

I ran this on the IBM Mainframe under Z/OS in QMF and got the following results. We are currently running DB2 Version 8 and upgrading to Ver 10.

DSN08015  -- Format seems to be DSNVVMMM
-- PPP IS PRODUCT STRING 'DSN'
-- VV IS VERSION NUMBER E.G. 08
-- MMM IS MAINTENANCE LEVEL E.G. 015

1 Comment

I get, "Qualified object name SYSDUMMY1 not valid" on As/400
9

I used

SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO()); 

from tyranitar and that worked on Z/OS. Here's what I got:

SERVICE_LEVEL
DB2 v9.7.0.6

I'd vote up if I could! Thanks!!

3 Comments

This will not work on z/OS. You are running on DB2 for Linux, UNIX or Windows to get this result.
Works for me! I get: |INST_NAME|IS_INST_PARTITIONABLE|NUM_DBPARTITIONS|INST_PTR_SIZE|RELEASE_NUM|SERVICE_LEVEL|BLD_LEVEL|PTF|FIXPACK_NUM|NUM_MEMBERS |xxx|0|1|64|060A010E|DB2 v10.5.0.9|s170908|IP24025|9|1
I confirm that this is not working on z/OS for me too.
8

Both worked for me.

SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());

or

SELECT * FROM SYSIBMADM.ENV_INST_INFO;

1 Comment

thanks, the first query gives SERVICE_LEVEL and RELEASE_NUM
8

To find out the fixpak information using command prompt: db2level

To find out the version and license information using command prompt: db2licm -l

C:\Users\Administrator>db2level
DB21085I  This instance or install (instance name, where applicable: "DB2")
uses "64" bits and DB2 code release "SQL10051" with level identifier
"0602010E".
Informational tokens are "DB2 v10.5.100.63", "s130816", "IP23521", and Fix Pack

"1".
Product is installed at "C:\SQLLIB" with DB2 Copy Name "DB2COPY1".


C:\Users\Administrator>db2licm -l
Product name:                     "IBM Data Server Client"
Product identifier:               "db2client"
Version information:              "10.5"

Comments

4

You can query for the built-in session variables with SQL. To identify the version of DB2 on z/OS, you need the SYSIBM.VERSION variable. This will return the PRDID - the product identifier. You can look up the human-readable version in the Knowledge Center.

SELECT GETVARIABLE('SYSIBM.VERSION')
FROM SYSIBM.SYSDUMMY1;

-- for example, the above returns DSN10015
-- DSN10015 identifies DB2 10 in new-function mode (see second link above)

Comments

3

Try the first or the second:

SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_PROD_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_SYS_INFO());

1 Comment

Works on Ubuntu though
2

In z/OS while on version 10, use of CURRENT APPLICATION COMPATIBILITY is not allowed. You will have to resort to:

SELECT GETVARIABLE('SYSIBM.VERSION') AS VERSION,
       GETVARIABLE('SYSIBM.NEWFUN')  AS COMPATIBILITY
FROM SYSIBM.SYSDUMMY1;

Here is a link to all the variables available: https://www.ibm.com/docs/en/db2-for-zos/13?topic=variables-built-in-session

Comments

1

Another one in v11:

select CURRENT APPLICATION COMPATIBILITY from sysibm.sysdummy1

Result:

V11R1

It's not the current version, but the current configured level for the application.

Comments

0

For DB2:

"SELECT * FROM SYSIBMADM.ENV_INST_INFO" - SERVICE_LEVEL

Comments

0

db2ls command will display the db2level along with the install path and install date.

To determine the specific product installed:

db2ls -p -q -b <installpath>

on db2ls command.

The following will appear:

Install Path       Level   Fix Pack   Special Install Number   Install Date    Installer UID
--------------------------------------------------------------------------------------------
/opt/ibm/db2/V9.7  9.7.0.7        7                      Thu Aug  1 12:25:53 2013 CDT     0

visit IBM Website

Comments

0

In AIX you can try:

db2level

Example output:

db2level
DB21085I  This instance or install (instance name, where applicable:
"db2inst1") uses "64" bits and DB2 code release "SQL09077" with level
identifier "08080107".
Informational tokens are "DB2 v9.7.0.7", "s121002", "IP23367", and Fix Pack
"7".
Product is installed at "/db2_09_07".

Comments

0
SELECT CATALOG_LEVEL FROM SYSIBM.SYSDUMMY1;

from https://thehelpfuldba.com/identify-the-current-version-level-of-db2-z-os-via-an-sql-statement/

Comments

0

On IBMi:

SELECT * FROM SYSIBMADM.ENV_SYS_INFO;

Comments

-2
SELECT GETVARIABLE(('SYSIBM.VERSION')
 FROM SYSIBM.SYSDUMMY1;
-- PPP IS PRODUCT STRING 'DSN'
-- VV IS VERSION NUMBER E.G., 10, 11
-- M IS MAINTENANCE LEVEL E.G. 5

-DISPLAY GROUP
 THIS WILL DISPLAY THE LEVEL CM, ENFM, N

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.