【发布时间】:2011-04-18 19:39:22
【问题描述】:
如何仅使用 SQL 命令检查 Z/OS 上的 db2 版本?
谢谢, 梅丽塔
【问题讨论】:
如何仅使用 SQL 命令检查 Z/OS 上的 db2 版本?
谢谢, 梅丽塔
【问题讨论】:
您可以尝试以下查询:
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'
SELECT GETVARIABLE('SYSIBM.VERSION') FROM SYSIBM.SYSDUMMY1
【讨论】:
SQL0440N No authorized routine named "GETVARIABLE" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884这个
还有 env_inst_info 管理视图。与 CanSpice 一样,我只能担保 LUW,但至少应该有类似的视图可用于 Z/OS。
SELECT * FROM SYSIBMADM.ENV_INST_INFO
【讨论】:
我用过
SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());
来自 tyranitar,在 Z/OS 上运行。这是我得到的:
SERVICE_LEVEL
DB2 v9.7.0.6
如果可以,我会投票!谢谢!!
【讨论】:
您的 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
【讨论】:
要使用命令提示符查找修订包信息: 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"
【讨论】:
您可以使用 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)
【讨论】:
尝试第一个或第二个:
SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_PROD_INFO());
SELECT * FROM TABLE(SYSPROC.ENV_GET_SYS_INFO());
【讨论】:
两者都为我工作。
SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO());
或
SELECT * FROM SYSIBMADM.ENV_INST_INFO;
【讨论】:
v11 中的另一个:
select CURRENT APPLICATION COMPATIBILITY from sysibm.sysdummy1
结果:
V11R1
不是当前版本,而是应用程序当前配置的级别。
【讨论】:
在 z/OS 版本 10 中,不允许使用 CURRENT APPLICATION COMPATIBILITY。您将不得不求助于:
SELECT GETVARIABLE('SYSIBM.VERSION') AS VERSION,
GETVARIABLE('SYSIBM.NEWFUN') AS COMPATIBILITY
FROM SYSIBM.SYSDUMMY1;
【讨论】:
对于DB2:
"SELECT * FROM SYSIBMADM.ENV_INST_INFO" - SERVICE_LEVEL
【讨论】:
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
【讨论】:
在 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".
【讨论】:
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
【讨论】: