如何检查DB2版本

66

如何仅使用SQL命令在Z/OS上检查db2版本?

谢谢, Melita

15个回答

65
你可以尝试以下查询:

你可以尝试以下查询:

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

它能在LUW上工作,所以我不能保证它能在z/OS上工作,但值得一试。


3
该翻译为:该死,我希望这两者之间的工作方式保持一致。 - CanSpice
执行示例:SELECT service_level, fixpack_num FROM TABLE(sysproc.env_get_inst_info()) as INSTANCEINFO DB2 v11.1.4.4','4' - Rudy Vissers

23

还有 env_inst_info 管理视图。和 CanSpice 一样,我只能保证在 LUW 上可用,但至少应该有一个类似的视图可用于 Z/OS。

SELECT * FROM SYSIBMADM.ENV_INST_INFO

1
对我来说,它是SYSIBMADM.ENV_SYS_INFO。由于我找不到您提供的表格,所以我只看了看类似的SYSIBMADM下的表格。感谢这个答案,我找到了我的答案。 - Jin Ginusuke

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

3
这会返回类似于“DSN090100”的值。要了解它的含义,请查看@Michael Sharek答案中的链接 - Brad Cupit
2
以上提到的链接目前已重定向至此处。为了将来的参考,如果IBM废弃原始链接,则添加此链接。 - transistor1
3
我在这个程序上遇到了 SQL0440N 错误,错误信息为:没有找到名称为“GETVARIABLE”的授权函数,其参数与所需参数兼容。SQLSTATE=42884。 - bbozo

10

我使用了

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

我使用了在Z/OS上可行的Tyranitar,以下是结果:

SERVICE_LEVEL
DB2 v9.7.0.6

如果可以的话,我会点赞!谢谢!!


11
这在z/OS上无法运行。为了获得这个结果,你需要在DB2 for Linux、UNIX或Windows上运行。 - Ian Bjorhovde
1
对我来说可以!我得到的是: |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 - Frans
我确认这在我的 z/OS 上也无法工作。 - Rahul Khimasia

9

你的SQL语句中有一个拼写错误,修正后的版本如下:

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

我在IBM主机下的Z/OS上使用QMF运行了这个命令,并得到了以下结果。我们当前正在运行DB2 8版本,计划升级到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
我在As/400上收到了“合格的对象名称SYSDUMMY1无效”的错误信息。 - eaglei22

8

两者都对我有用。

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

或者
SELECT * FROM SYSIBMADM.ENV_INST_INFO;

谢谢,第一个查询提供了 SERVICE_LEVEL 和 RELEASE_NUM。 - sdykae

7

使用命令提示符查找修补程序信息: db2level

使用命令提示符查找版本和许可证信息: 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"

4
你可以使用SQL查询内置的会话变量。要识别z/OS上的DB2版本,您需要SYSIBM.VERSION变量。这将返回PRDID - 产品标识符。您可以在知识中心中查找可读版本。
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)

3
尝试第一种或第二种方法:
SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_PROD_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_SYS_INFO());

仅翻译文本:虽然在Ubuntu上可以工作 - bbozo

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接