Db2: 表関数をつかってDb2構成パラメーター情報を取得しよう


表関数をつかってDb2構成パラメーター情報を取得しよう

たとえば IBM Db2 Warehouse on Cloud のような fully-managedのDb2 システムでは 管理者でも データベース構成パラメーターやデータベース・マネージャー構成パラメーター情報を取得することが難しいですよね。 Db2には次のような構成情報を取得する管理ビューや表関数が準備されています。

IBM Db2 Warehouse on Cloudでは DBM_GET_CFG 表関数 DB_GET_CFG 表関数を使用できます。

今回は Db2 WoC (Warehouse on Cloud)のコンソールで構成情報を取得する例を DBM_GET_CFG 表関数とDB_GET_CFG 表関数を使用してご紹介します。 ( 十分な権限を持ったユーザーで実行する必要があります。)


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


例1 DBM_GET_CFG 表関数 をつかってデータベース・マネージャー構成パラメーター情報を取得する。

データベース・マネージャー構成パラメーター情報は DBMCFG 管理ビューと DBM_GET_CFG 表関数 を使用して取得できます。

ここではDBM_GET_CFG 表関数を使ってみましょう。

SELECT 
    NAME                    -- 構成パラメーター名
    , VALUE                 -- メモリー内に保管されている構成パラメーターの現行値 
    , VALUE_FLAGS           -- 現行値に固有の情報 : NONE - 追加情報なし / AUTOMATIC - 自動に設定されている
    , DEFERRED_VALUE        -- ディスク上の構成パラメーター値 据え置き値 / AUTOMATIC - 自動に設定されている
    , DEFERRED_VALUE_FLAGS  -- 据え置き値に固有の情報 : NONE - 追加情報なし
FROM TABLE(SYSPROC.DBM_GET_CFG(-1)) -- パラメーター memberを指定 -1 : 現在のデータベース・メンバー 

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

"CSV形式でエクスポート"を選択すると CSV形式のファイルがダウンロードされ次のような情報を得ることができます。

NAME VALUE VALUE_FLAGS DEFERRED_VALUE DEFERRED_VALUE_FLAGS
agent_stack_sz 1024 NONE 1024 NONE
agentpri -1 NONE -1 NONE
aslheapsz 15 NONE 15 NONE
audit_buf_sz 65000 NONE 65000 NONE
authentication SERVER_ENCRYPT NONE SERVER_ENCRYPT NONE
(以下省略)

例2 DB_GET_CFG 表関数 をつかってデータベース構成パラメーター情報を取得する

データベース構成パラメーター情報は DBCFG 管理ビューおよび DB_GET_CFG 表関数 を使用して取得できます。

ここではDB_GET_CFG 表関数を使ってすべてアクティブなデータベース・メンバー のsortheapを確認しましょう。

SELECT 
    NAME                    -- 構成パラメーター名
    , VALUE                 -- メモリー内に保管されている構成パラメーターの現行値 
    , VALUE_FLAGS           -- 現行値に固有の情報 : NONE - 追加情報なし / AUTOMATIC - 自動に設定されている
    , MEMBER                -- データベース・メンバーの数値 ID
FROM TABLE(SYSPROC.DB_GET_CFG(-2))  -- パラメーター memberを指定 -2 : すべてのアクティブなデータベース・メンバー 
WHERE NAME = 'sortheap' 
order by MEMBER;

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

NAME VALUE VALUE_FLAGS MEMBER
sortheap 121558 NONE 0
sortheap 121558 NONE 1
sortheap 121558 NONE 2
(以下省略)

db2 コマンドが使用可能なpureScale や DPF といった複数のノードで構成されている環境でも  構成情報を表関数を使用して取得すると確認したいパラメータのみ取得してノード間で比較可能だったりと "地味に"便利です。

まとめ

  • 構成情報を取得する管理ビューや表関数で情報をえるためには十分な権限を持ったユーザーで実行する必要があります。

  • IBM Db2 Warehouse on Cloud のような fully-managedのDb2 システムでも 表関数を使用してDb2構成パラメーター情報が参照可能です。