組み込みルーチンや管理ビューでシステムの環境情報を取得しよう
たとえば 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管理者の"心くすぐる"組み込みルーチンや管理ビューが一覧でリストされています。