如何查看 db2 版本

Posted

技术标签:

【中文标题】如何查看 db2 版本【英文标题】:How to check db2 version 【发布时间】:2011-04-18 19:39:22 【问题描述】:

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

谢谢, 梅丽塔

【问题讨论】:

【参考方案1】:

您可以尝试以下查询:

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

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

【讨论】:

该死的爆炸。我希望两者之间的工作方式相同。 执行示例:SELECT service_level, fixpack_num FROM TABLE(sysproc.env_get_inst_info()) as INSTANCEINFO DB2 v11.1.4.4','4'【参考方案2】:
SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1

【讨论】:

这会返回一个类似“DSN090100”的值。要了解这意味着什么,请查看@Michael Sharek's answer 中的链接。 上面引用的答案中的链接当前重定向here。添加以供将来参考,以防 IBM 弃用原始链接。 我有SQL0440N No authorized routine named "GETVARIABLE" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884这个【参考方案3】:

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

SELECT * FROM SYSIBMADM.ENV_INST_INFO

【讨论】:

对我来说,它是 SYSIBMADM.ENV_SYS_INFO。由于找不到您提供的表格,我只查看了 SYSIBMADM 下的表格,看起来像它。感谢这个答案,我找到了我的。【参考方案4】:

我用过

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

来自 tyranitar,在 Z/OS 上运行。这是我得到的:

SERVICE_LEVEL
DB2 v9.7.0.6

如果可以,我会投票!谢谢!!

【讨论】:

这将在 z/OS 上工作。您正在 DB2 for Linux、UNIX 或 Windows 上运行以获得此结果。 为我工作!我得到:|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|11跨度> 我确认这对我来说也不适用于 z/OS。【参考方案5】:

您的 SQL 中有错字。固定版本如下:

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

我在 QMF 的 Z/OS 下的 IBM 大型机上运行此程序,得到以下结果。 我们目前正在运行 DB2 版本 8 并升级到版本 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

【讨论】:

我在 As/400 上得到“限定对象名称 SYSDUMMY1 无效”【参考方案6】:

要使用命令提示符查找修订包信息: db2级

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

【讨论】:

【参考方案7】:

您可以使用 SQL 查询内置会话变量。要识别 z/OS 上的 DB2 版本,您需要 SYSIBM.VERSION variable. 这将返回PRDID - the product identifier。您可以在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)

【讨论】:

【参考方案8】:

尝试第一个或第二个:

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 上工作【参考方案9】:

两者都为我工作。

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

SELECT * FROM SYSIBMADM.ENV_INST_INFO;

【讨论】:

【参考方案10】:

v11 中的另一个:

select CURRENT APPLICATION COMPATIBILITY from sysibm.sysdummy1

结果:

V11R1

不是当前版本,而是应用程序当前配置的级别。

【讨论】:

【参考方案11】:

在 z/OS 版本 10 中,不允许使用 CURRENT APPLICATION COMPATIBILITY。您将不得不求助于:

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

这里是所有可用变量的链接:https://www.ibm.com/support/knowledgecenter/SSEPEK_12.0.0/sqlref/src/tpc/db2z_refs2builtinsessionvars.html#db2z_refs2builtinsessionvars

【讨论】:

【参考方案12】:

对于DB2

"SELECT * FROM SYSIBMADM.ENV_INST_INFO" - SERVICE_LEVEL

【讨论】:

【参考方案13】:

db2ls 命令将显示 db2level 以及安装路径和安装日期。

确定安装的具体产品:

db2ls -p -q -b <installpath>

关于 db2ls 命令。

会出现以下内容:

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

访问IBM Website

【讨论】:

【参考方案14】:

在 AIX 中你可以尝试:

db2level

示例输出:

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".

【讨论】:

【参考方案15】:
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

【讨论】:

以上是关于如何查看 db2 版本的主要内容,如果未能解决你的问题,请参考以下文章

如何查看db2正在进行的sql执行状态

db2数据库当前连接数如何查看

db2 如何查看死锁的详细信息

如何查询db2数据库表是不是被锁

如何在 IBM Data Studio 中查看 DB2 存储过程的解释计划?

如何查看表空间容量