Db2: 組み込みルーチンや管理ビューで システムの環境情報を取得しよう


組み込みルーチンや管理ビューでシステムの環境情報を取得しよう

たとえば IBM Db2 Warehouse on Cloud のような fully-managedのDb2 システムでは 管理者でも環境情報を取得することが難しいですよね。 そんな時は Db2 ドキュメントの"環境ルーチンおよびビュー" を覗いてみませんか? Db2管理者の"心くすぐる"組み込みルーチンや管理ビューが一覧でリストされています。

今回は Db2 WoC (Warehouse on Cloud)のコンソールで環境情報を組み込みルーチンや管理ビューを使用して取得した例をご紹介します。 ( 十分な権限を持ったユーザーで実行する必要があります。)

(参考) Db2 V11.5 環境ルーチンおよびビュー .. https://www.ibm.com/docs/ja/db2/11.5?topic=views-environment-routines


本手順はIBM Db2 Warehouse on Cloud (Db2 v11.5.5)で確認しています。
これらの技術を自身の環境に適用する際には、自己の責任において十分な検証と確認を実施いただくことをお奨めいたします。


例1 ENV_SYS_INFO 管理ビュー - システムに関する情報の検索

システムに関する情報を取得するには ENV_SYS_INFO が使えます。

SELECT
OS_FULL_VERSION     -- オペレーティング・システム・フルバージョン
, TOTAL_CPUS        -- このホストでのプロセッサーの数。
, CONFIGURED_CPUS   -- システム上の構成済み物理 CPU の数。
, TOTAL_MEMORY      --  システム上のメモリーの合計量 (MB 単位)。
from SYSIBMADM.ENV_SYS_INFO;

(参考) ENV_SYS_INFO 管理ビュー - システムに関する情報の検索 https://www.ibm.com/docs/ja/db2/11.5?topic=views-env-sys-info-system-information

Db2 WoC (Warehouse on Cloud)のコンソールの"SQLの実行"を開いて 上↑のSQLを入力し、"すべて実行"をClickします。

"読み込まれたすべてのレコードを表示"を選択すると 状況が取得できています。

例2 ENV_INST_INFO 管理ビュー - 現在のインスタンスに関する情報の検索

ENV_INST_INFOを使用すると オンプレなどで使用する db2levelコマンドで表示される情報などが取得できます。

SELECT 
INST_NAME           -- 現在のインスタンスの名前。
, NUM_DBPARTITIONS  -- データベース・パーティションの数。
, SERVICE_LEVEL     -- db2level コマンドによって返されるサービス・レベル。
, BLD_LEVEL         -- db2level コマンドによって戻される、ビルド・レベル。
, PTF               -- db2level コマンドによって戻される、プログラム一時修正 (PTF) ID。
FROM SYSIBMADM.ENV_INST_INFO;

(参考) ENV_INST_INFO 管理ビュー - 現在のインスタンスに関する情報の検索 https://www.ibm.com/docs/ja/db2/11.5?topic=views-env-inst-info-current-instance-information

例1と同様に Db2 WoC (Warehouse on Cloud)のコンソールの"SQLの実行"を開いて 上↑のSQLを入力し、"すべて実行"をClickします。"読み込まれたすべてのレコードを表示"を選択すると次のような情報が得られます。

INST_NAME NUM_DBPARTITIONS SERVICE_LEVEL BLD_LEVEL PTF
db2inst1 8 DB2 v11.5.5.0 special_6558 DYN2103170707AMD64_6558

例3 ENV_GET_REG_VARIABLES 表関数 - 使用中のデータベース・レジストリー設定の取得

ENV_GET_REG_VARIABLESを使用すると オンプレなどで使用する db2setコマンドで参照できる情報が取得できます。

select MEMBER
, REG_VAR_NAME          -- データベース・レジストリー変数の名前。
, REG_VAR_VALUE         -- メモリー内の現行設定値。
, REG_VAR_ON_DISK_VALUE -- ディスク上の現行設定値。
, LEVEL                 -- I = インスタンス / G = グローバル / N = データベース・パーティション / E = 環境
from table(ENV_GET_REG_VARIABLES(-1, 0)) ;  
    -- ENV_GET_REG_VARIABLES
    --  第1パラメータ memberを指定 -1 : 現行のデータベース・メンバー
    --  第2パラメータ すべてのレジストリー変数についての情報を戻すかどうかを指定  0: 現在設定されている変数のみを表示  

(参考) ENV_GET_REG_VARIABLES 表関数 - 使用中のデータベース・レジストリー設定の取得 https://www.ibm.com/docs/ja/db2/11.5?topic=erv-env-get-reg-variables-database-registry-settings-in-use

例1と同様に Db2 WoC (Warehouse on Cloud)のコンソールの"SQLの実行"を開いて 上↑のSQLを入力し、"すべて実行"をClickします。"読み込まれたすべてのレコードを表示"を選択すると次のような情報が得られます。

MEMBER REG_VAR_NAME REG_VAR_VALUE REG_VAR_ON_DISK_VALUE LEVEL
0 DB2AUTOSTART NO NO I
0 DB2COMM TCPIP,SSL TCPIP,SSL I
0 DB2INSTDEF db2inst1 db2inst1 E
0 DB2SYSTEM dashmpp-head-0 dashmpp-head-0 G
0 DB2_ANTIJOIN EXTEND EXTEND I
以下省略

まとめ

  • 環境ルーチンやビューで情報をえるためには十分な権限を持ったユーザーで実行する必要があります。

  • IBM Db2 Warehouse on Cloud のような fully-managedのDb2 システムでも 環境ルーチンやビューを使用して環境情報を取得することができます。

  • Db2 ドキュメントの"環境ルーチンおよびビュー" には Db2管理者の"心くすぐる"組み込みルーチンや管理ビューが一覧でリストされています。