
DBATsのKEEPDYNAMIC更新を有効にする
Db2 for z/OS® サーバーで KEEPDYNAMIC リフレッシュ・サポートを有効にするには、 Db2 Connect などのクライアントを設定します。 KEEPDYNAMICリフレッシュ・サポートにより、アプリケーションはトランザクション境界を越えて準備されたダイナミック・ステートメントを利用することができ、同時に Db2 、アプリケーションに対して透過的にデータベース・アクセス・スレッド(DBAT)を定期的にクリーンアップすることができます。
このタスクについて
KEEPDYNAMIC(YES)バインドオプションを使用すると、アプリケーションは、アプリケーションプロセスのコミットまたはロールバックの時点以降も動的な準備されたステートメントを保持することができます。 この動作はパフォーマンスを向上させるが、同じデータベース・アクセス・スレッド(DBAT)がアプリケーションを長時間処理すると問題を引き起こすこともある。
しかし、クライアントが自動クライアント再ルートで設定されている場合、 Db2 は KEEPDYNAMIC refreshと呼ばれるプロセスを使って、 KEEPDYAMIC(YES)バインドオプションでバインドされているパッケージの既存のDBATを 定期的に終了させることができる。 このような終了が起こると、作業はシームレスに別のDBATにリルートされ、さらなる処理が行われる。
プロシージャー
データベース・アクセス・スレッドのKEEPDYNAMICリフレッシュを有効にするには、以下のいずれかの方法を使用して、クライアントの自動リルートを設定します:
- クライアントの自動リルートによるシスプレックスのワークロードバランシングを有効にします。 詳細については、 Javaクライアントのsysplexワークロードバランシングと自動クライアントリルートの構成を参照してください。
- Db2 データ共有グループに対して、シームレスなフェイルオーバーが可能なクライアントアフィニティを使用するようにクライアントを構成する。 詳 し く は、 すべてのサポー ト さ れてい る デー タ ベース製品の共通 IBM Data Server Driver for JDBC and SQLJ プ ロ パテ ィ の
enableClientAffinitiesListおよびenableSeamlessFailoverプ ロ パテ ィ の説明を参照 し て く だ さ い。
結果
クライアントがKEEPDYNAMICリフレッシュを使用するように設定されている場合、 Db2 、以下の時間制限に基づいてコミット境界でDBATを自動的に終了し、クライアントはアプリケーションに影響を与えることなく、作業を別のDBATにシームレスに再ルーティングします。
- 最大使用時間が 1 時間を超えています。
- 次のトランザクションリクエストの最大アイドル待機時間は20分を超えています。
