IBM Support

[Db2] CLI パッケージ (CLIPKG) の数を確認する方法

Question & Answer


Question

bind コマンドを実行して追加で CLI パッケージをバインドしました。 現在の CLI パッケージの数を確認する方法を教えてください。

Answer

CLI パッケージを確認するには、対象データベース側と、CLI アプリケーション側の確認が必要です。

データベース・サーバー側

bind コマンドで指定する CLIPKG では、 CLI バインド・ファイルをデータベースに対してバインドするときに作成される CLI ラージ・パッケージの数を指定します。
CLI ラージ・パッケージの数は list packages コマンドで確認できます。

パッケージ名が SYSL で始まる CLI ラージ・パッケージは、カーソル属性 (H または N)、および分離レベル (1 ~ 4) ごとに 8 種類あります。

SYSLH1yy
SYSLH2yy
SYSLH3yy
SYSLH4yy

SYSLN1yy
SYSLN2yy
SYSLN3yy
SYSLN4yy

末尾 2 桁の yy はパッケージ反復を表し、16 進数で 00 から始まります。
デフォルトではそれぞれ 3 個のパッケージ (末尾 2 桁が 00, 01, 02) が作成されています。


(例) パッケージ SYSLHxyy の場合
  • > db2 connect to <dbname>
    > db2 list packages for all
                                    合計                  分離   ブロッ  
    パッケージ  スキーマ  バインド  セクション 有効  形式 レベル キング  
    ----------- --------- --------- ---------- ----- ---- ------ ------
    ...
    SYSLH100    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH101    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH102    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH200    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH201    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH202    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH300    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH301    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH302    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH400    NULLID    SYSIBM           385 Y     3    RR     B
    SYSLH401    NULLID    SYSIBM           385 Y     3    RR     B
    SYSLH402    NULLID    SYSIBM           385 Y     3    RR     B
    ...

  • CLIPKG を 4 に指定して bind コマンドを実行した場合、末尾 2 桁が 03 のパッケージが追加され、それぞれ 4 個の CLI パッケージが作成されていることが確認できます。

  •  
 
  • > db2 BIND @db2cli.lst BLOCKING ALL GRANT PUBLIC CLIPKG 4

    LINE    MESSAGES FOR db2cli.lst
    ------  --------------------------------------------------------------------
            SQL0061W  バインド・プログラムが処理中です。
            SQL0091N  バインドが、エラー "0" と 警告 "0"
                      で終了しました。
 
  • > db2 list packages for all

                                    合計                  分離   ブロッ  
    パッケージ  スキーマ  バインド  セクション 有効  形式 レベル キング  
    ----------- --------- --------- ---------- ----- ---- ------ ------
    SYSLH100    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH101    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH102    NULLID    SYSIBM           385 Y     3    UR     B
    SYSLH103    NULLID    DB2INST1         385 Y     3    UR     B
    SYSLH200    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH201    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH202    NULLID    SYSIBM           385 Y     3    CS     B
    SYSLH203    NULLID    DB2INST1         385 Y     3    CS     B
    SYSLH300    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH301    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH302    NULLID    SYSIBM           385 Y     3    RS     B
    SYSLH303    NULLID    DB2INST1         385 Y     3    RS     B
    SYSLH400    NULLID    SYSIBM           385 Y     3    RR     B
    SYSLH401    NULLID    SYSIBM           385 Y     3    RR     B
    SYSLH402    NULLID    SYSIBM           385 Y     3    RR     B
    SYSLH403    NULLID    DB2INST1         385 Y     3    RR     B
    ...

  • 追加した CLI パッケージを削除したい場合、drop package コマンドを実行してから再度バインドします。

  •  

(例) CLIPKG を 4 から 3 (デフォルト) に変更したい場合

1. 該当のデータベースに対して全てのアプリケーションが切断されていることを確認します。
  パッケージが使用されていなければ、切断の必要性はありません。

2. 追加したパッケージを削除します。
  • db2 connect to <dbname>
    db2 drop package NULLID.パッケージ名

デフォルトの 3 に戻す場合、SYSLHxyy および SYSLNxyy の末尾2桁 yy が 03 のパッケージを削除します。
以下が削除対象のパッケージ名です。
  • SYSLH103
    SYSLH203
    SYSLH303
    SYSLH403
    SYSLN103
    SYSLN203
    SYSLN303
    SYSLN403

    (コマンド 実行例)
    > db2 drop package NULLID.SYSLH103
    DB20000I  SQL コマンドが正常に完了しました。

    > db2 drop package NULLID.SYSLH203
    DB20000I  SQL コマンドが正常に完了しました。

    ... (中略)

    > db2 drop package NULLID.SYSLN303
    DB20000I  SQL コマンドが正常に完了しました。

    > db2 drop package NULLID.SYSLN403
    DB20000I  SQL コマンドが正常に完了しました。


    3. CLI パッケージを再度バインドします。

    > db2 BIND @db2cli.lst BLOCKING ALL GRANT PUBLIC CLIPKG 3

    LINE    MESSAGES FOR db2cli.lst
    ------  --------------------------------------------------------------------
            SQL0061W  バインド・プログラムが処理中です。
            SQL0091N  バインドが、エラー "0" と 警告 "0"
                      で終了しました。


アプリケーション側
※ IBM Data Server Driver for JDBC and SQLJ (JCC) ドライバーを使用する Java アプリケーションの場合は該当しません。
Db2 CLI/ODBC 初期設定ファイル (db2cli.ini) の、CLI/ODBC 構成キーワード CLIPKG の現在の設定値は get cli cfg コマンドで確認できます。

(例)
  • > db2 get cli cfg

     セクション: sample
     -------------------------------------------------
       CLIPKG=4


関連情報
[Db2] Java アプリケーションなどで SQL0805N (-805) エラーが返る (IM-10-00V)

LIST PACKAGES/TABLES コマンド
BIND コマンド
CLIPkg CLI/ODBC 構成キーワード
CLI のバインド・ファイルおよびパッケージ名
DROP ステートメント
GET CLI CONFIGURATION コマンド

パスポート・アドバンテージによく寄せられる質問


お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート

[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PmRAAU","label":"Programming Interface-\u003EBind and Packages"},{"code":"a8m500000008PmSAAU","label":"Programming Interface-\u003ECLI"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
16 August 2023

UID

swg21993468