ENV_GET_SYSTEM_RESOURCES 表函数 - 返回系统信息
ENV_GET_SYSTEM_RESOURCES 表函数返回与系统上成员相关的操作系统、CPU、内存和其他信息。
活动数据库可以驻留在系统上的一个或多个成员上。 此表函数仅从发出该命令的数据库处于活动状态的成员返回数据。
注: ENV_GET_SYSTEM_RESOURCES 表函数将替换 ENV_GET_SYS_RESOURCES 表函数和关联的 ENV_SYS_RESOURCES 管理视图。
ENV_GET_SYSTEM_RESOURCES 表函数返回一行中的所有数据,其中每个成员有多列,而不是每个成员有多行。 此外, ENV_GET_SYS_RESOURCES 表函数为 DBPARTITIONNUM 列返回的数据由 ENV_GET_SYSTEM_RESOURCES 表函数在 MEMBER 列中返回。
模式为 SYSPROC。
权限
需要下列其中一个权限:
- 对表函数的 EXECUTE 特权
- DATAACCESS 权限
- DBADM 权限
- SQLADM 权限
缺省 PUBLIC 特权
无
返回的信息
使用说明
- 在虚拟化环境 (例如 VMWare ESX) 中,数据库系统可能无法确定 CPU 拓扑,例如 CPU_HMT_DEGREE 或 CPU_CORES_PER_SOCKET。 发生此情况的原因是系统管理程序提供给虚拟化操作系统的信息有限。 在此类情况下, CPU_CORES_PER_SOCKET 和 CPU_HMT_DEGREE 将具有值 1。
- 要返回准确的结果, ENV_GET_SYSTEM_RESOURCES 表函数在 AIX, HP 和 Windows 操作系统上需要超过 1 秒。
示例
示例 1: 获取三人 Db2® pureScale® 设置中每个成员的操作系统信息:
select MEMBER, varchar(HOST_NAME,12) as HOST_NAME, varchar(OS_NAME,8) as OS_NAME,
varchar(OS_VERSION,8) as OS_VERSION, varchar(OS_RELEASE,8)
as OS_RELEASE from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES()) order by MEMBER
样本输出如下所示:
MEMBER HOST_NAME OS_NAME OS_VERSION OS_RELEASE
------ ------------ -------- ---------- ----------
0 hotel75 Linux 2 6
1 hotel78 Linux 2 6
2 hotel90 Linux 2 6
3 record(s) selected.
示例 2: 获取 Db2 Enterprise Server Edition 系统上托管此数据库的系统的内存信息:
select varchar(HOST_NAME,12) as HOST_NAME, MEMORY_TOTAL, MEMORY_FREE,
MEMORY_SWAP_TOTAL, MEMORY_SWAP_FREE, VIRTUAL_MEM_TOTAL, VIRTUAL_MEM_FREE
from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES())
样本输出如下所示。 由于空间约束,输出在第二行上继续。
HOST_NAME MEMORY_TOTAL MEMORY_FREE MEMORY_SWAP_TOTAL ...
------------ -------------------- -------------------- -------------------- ...
hotel75 32189 4370 8198 ...
1 record(s) selected
... MEMORY_SWAP_FREE VIRTUAL_MEM_TOTAL VIRTUAL_MEM_FREE
... -------------------- -------------------- --------------------
... 7316 40387 11686
示例 3: 在四个成员分区数据库环境中,查找托管数据库的所有系统的装入时间。
select MEMBER, varchar(HOST_NAME,12) as HOST_NAME,
CPU_LOAD_SHORT, CPU_LOAD_MEDIUM, CPU_LOAD_LONG
from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES()) order by MEMBER
样本输出如下所示:
MEMBER HOST_NAME CPU_LOAD_SHORT CPU_LOAD_MEDIUM CPU_LOAD_LONG
------ --------- ----------------------- ---------------------- ------------------------
0 hotel75 +5.21000000000000E+000 +5.08000000000000E+000 +4.67000000000000E+000
1 hotel78 +1.33000000000000E+000 +2.18000000000000E+000 +3.66000000000000E+000
2 hotel90 +9.02000000000000E+000 +9.08000000000000E+000 +9.47000000000000E+000
3 hotel32 +1.09000000000000E+000 +1.38000000000000E+000 +1.27000000000000E+000
4 record(s) selected.
示例 4:
select MEMBER, varchar(HOST_NAME,12) as HOST_NAME, CPU_TOTAL,
MEMORY_TOTAL, CPU_LOAD_SHORT
from table(SYSPROC.ENV_GET_SYSTEM_RESOURCES())
order by MEMBER
样本输出如下所示:MEMBER HOST_NAME CPU_TOTAL MEMORY_TOTAL CPU_LOAD_SHORT
----- -------------- --------- ------------ -----------------------
0 coralpib23 24 81920 +1.23696899414062E+000
1 coralpib23 24 81920 +1.23696899414062E+000
2 coralpib23 24 81920 +1.23696899414062E+000
3 coralpib23 24 81920 +1.23696899414062E+000
4 record(s) selected.