QSYS2.OVERRIDE_QAQQINI プロシージャーとは
**実行するジョブ内のQTEMPライブラリーにQAQQINIファイルを作成・設定変更し、そのジョブでのみSQL(Db2 for i DBMS)の挙動を制御する目的で使用します。
概要
■プロシージャー名:QSYS2.OVERRIDE_QAQQINI
■参照URL(IBM i 7.6):https://www.ibm.com/docs/ja/i/7.6.0?topic=services-override-qaqqini-procedure
プロシージャーの使用方法
①QTEMPにQAQQINIファイルを作成する
CALL QSYS2.OVERRIDE_QAQQINI(1);
※ファイル内にセットされるパラメーターはシステムデフォルト値
②QSYS2.QAQQINIファイル内の個別パラメーター値を変更する例
CALL QSYS2.OVERRIDE_QAQQINI(2, 'PREVENT_ADDITIONAL_CONFLICTING_LOCKS', '*YES');
※Db2 for i テーブルの排他ロックを獲得できる可能性を向上させる変更の例
③QTEMP.QAQQINIファイルを削除する
CALL QSYS2.OVERRIDE_QAQQINI(3);
実行例
QTEMP.QAQQINIファイルの作成
上記①を実行します。
CALL QSYS2.OVERRIDE_QAQQINI(1);
上記の結果、QSYS2.QAQQINIが作成されます。確認例として以下を実行します
SELECT * FROM QTEMP.QAQQINI ORDER BY QQPARM ;
※ラベル情報が文字化けしていますね・・
QTEMP.QAQQINIファイルの属性を変更
上記のサンプルと別なところでUPDATE, DELETなどの並行処理をオンにするサンプルがこちら
call qsys2.override_qaqqini(2, 'PARALLEL_DEGREE', '*OPTIMIZE');
※別なソースからコピペした為、英小文字交じりです^^;
結果例は省略しまして、上記のPARALLEL_DEGREE を確認しますと、
SELECT * FROM QTEMP.QAQQINI WHERE QQPARM = 'PARALLEL_DEGREE' ;
QTEMP.QAQQINIの削除
CALL QSYS2.OVERRIDE_QAQQINI(3);
結果例は省略します。


