ALTER WORKLOAD ステートメント

ALTER WORKLOAD ステートメントは、ワークロードを変更します。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。

許可

ステートメントの許可 ID によって保持されている特権には、少なくとも以下のいずれかの権限が含まれていなければなりません。
  • SQLADM 権限 (すべての変更節が COLLECT 節の場合のみ)
  • WLMADM 権限
  • DBADM 権限
COLLECT 節以外の節を指定するには、ステートメントの許可 ID に DBADM 権限または WLMADM 権限が含まれている必要があります。

構文

構文図を読む構文図をスキップするALTER WORKLOADworkload-name1ADDconnection-attributesDROPconnection-attributesALLOW DB ACCESSDISALLOW DB ACCESSENABLEDISABLEMAXIMUM DEGREE DEFAULTMAXIMUM DEGREEdegreeSERVICE CLASSservice-class-nameUNDERservice-superclass-namePOSITIONLASTBEFOREworkload-nameAFTERworkload-nameATpositionCOLLECT ACTIVITY DATAalter-collect-activity-data-clauseNONECOLLECT ACTIVITY METRICSBASENONEEXTENDEDCOLLECT AGGREGATE ACTIVITY DATABASEEXTENDEDNONECOLLECT AGGREGATE UNIT OF WORK DATABASENONECOLLECT LOCK TIMEOUT DATAalter-collect-history-clauseNONECOLLECT DEADLOCK DATAalter-collect-history-clauseCOLLECT LOCK WAIT DATAalter-collect-lock-wait-data-clauseNONECOLLECT UNIT OF WORK DATABASEBASEINCLUDE,PACKAGE LISTEXECUTABLE LISTNONEACTIVITY LIFETIME HISTOGRAM TEMPLATEtemplate-nameACTIVITY QUEUETIME HISTOGRAM TEMPLATEtemplate-nameACTIVITY EXECUTETIME HISTOGRAM TEMPLATEtemplate-nameACTIVITY ESTIMATEDCOST HISTOGRAM TEMPLATEtemplate-nameACTIVITY INTERARRIVALTIME HISTOGRAM TEMPLATEtemplate-nameUOW LIFETIME HISTOGRAM TEMPLATEtemplate-name
connection-attributes
構文図を読む構文図をスキップする 2 ADDRESS('address-value')APPLNAME('application-name')SYSTEM_USER('authorization-name')SESSION_USER('authorization-name')SESSION_USER GROUP('authorization-name')SESSION_USER ROLE('authorization-name')CURRENT CLIENT_USERID('user-id')CURRENT CLIENT_APPLNAME('client-application-name')CURRENT CLIENT_WRKSTNNAME('workstation-name')CURRENT CLIENT_ACCTNG('accounting-string')
alter-collect-activity-data-clause
構文図を読む構文図をスキップするON COORDINATORMEMBERON ALLMEMBERSWITHOUT DETAILSWITH,DETAILS3SECTIONINCLUDE ACTUALS BASEAND VALUES
alter-collect-history-clause
構文図を読む構文図をスキップするWITHOUT HISTORYWITH HISTORYAND VALUES
alter-collect-lock-wait-data-clause
構文図を読む構文図をスキップするFOR LOCKS WAITING MORE THAN wait-timeSECONDSMICROSECONDS1 SECOND alter-collect-history-clause
注:
  • 1 同じ節を複数回指定することはできません。
  • 2 各接続属性節は、一度しか指定できません。
  • 3 DETAILS は指定すべき最小限のキーワードで、そのあとにコンマで区切ってオプションを指定します。

説明

workload-name
変更するワークロードを識別します。これは、1 部構成の名前です。 これは、SQL ID です (通常 ID または区切り ID)。 workload-name には、現行のサーバー上の既存のワークロードを指定する必要があります (SQLSTATE 42704)。
ADD connection-attributes
ワークロードの定義に 1 つ以上の接続属性の値を追加します。指定する各接続属性の値は、ワークロードに既に定義されている値であってはなりません (SQLSTATE 5U039)。workload-name が 'SYSDEFAULTUSERWORKLOAD' または 'SYSDEFAULTADMWORKLOAD' の場合は、ADD オプションを指定できません (SQLSTATE 42832)。
DROP connection-attributes
ワークロードの定義から 1 つ以上の接続属性の値をドロップします。指定する各接続属性の値は、ワークロードに定義されている値でなければなりません (SQLSTATE 5U040)。workload-name が 'SYSDEFAULTUSERWORKLOAD' または 'SYSDEFAULTADMWORKLOAD' の場合は、DROP オプションを指定できません (SQLSTATE 42832)。少なくとも 1 つの接続属性の値が定義されている必要があります。最後の接続属性の値はドロップできません (SQLSTATE 5U022)。
connection-attributes
ワークロードの接続属性の値を指定します。ADDRESS を除くすべての接続属性に大/小文字の区別があります。
ADDRESS ('address-value', ...)
ADDRESS 接続属性に、IPv4 アドレス、IPv6 アドレス、またはセキュア・ドメイン・ネームを 1 つ以上指定します。 1 つのアドレス値をリストの中で複数回指定することはできません (SQLSTATE 42713)。サポートされるプロトコルは TCP/IP のみです。 各アドレス値は、IPv4 アドレス、IPv6 アドレス、またはセキュア・ドメイン・ネームでなければなりません。

IPv4 アドレスの先頭にスペースが含まれていてはなりません。 このアドレスは小数点付き 10 進数アドレスとして表されます。 例えば IPv4 アドレスは、9.112.46.111 のようになります。 値 localhost またはそれに相当する表現 127.0.0.1 は、一致という結果になりません。代わりにホストの実 IPv4 アドレスを指定する必要があります。IPv6 アドレスの先頭にスペースが含まれていてはなりません。 このアドレスはコロン区切りの 16 進アドレスとして表されます。 例えば IPv6 アドレスは、2001:0DB8:0000:0000:0008:0800:200C:417A のようになります。 IPv4 がマップされた IPv6 アドレス (例えば ::ffff:192.0.2.128) は、一致という結果になりません。 同じように、localhost またはその IPv6 短表現 ::1 も一致という結果になりません。ドメイン・ネームはドメイン・ネーム・サーバーで IP アドレスに変換されます。 結果として生成される IPv4 または IPv6 アドレスはこのサーバーで決定されます。 例えばドメイン・ネームは、corona.torolab.ibm.com のようになります。 ドメイン・ネームが IP アドレスに変換されたとき、この変換の結果が 1 つ以上の IP アドレスのセットになる場合があります。 その場合、接続開始時の IP アドレスがドメイン名変換後の IP アドレスのいずれかと一致すると、着信接続はワークロード・オブジェクトの ADDRESS 属性と一致していると見なされます。

ワークロード・オブジェクトを作成するとき、特に動的ホスト構成プロトコル (DHCP) 環境 (デバイスが取得する IP アドレスが、ネットワークに接続するたびに異なる環境) では、静的 IP アドレスの代わりにドメイン・ネーム値を ADDRESS 属性に提供することをお勧めします。

APPLNAME ('application-name', ...)
APPLNAME 接続属性に 1 つ以上のアプリケーションを指定します。 1 つのアプリケーション名をリストの中で複数回指定することはできません (SQLSTATE 42713)。 application-name に単一のアスタリスク文字 (*) が含まれていない場合は、システム・モニター出力や LIST APPLICATIONS コマンドからの出力の「アプリケーション名」フィールドに表示される値と等しくなります。 application-name に単一のアスタリスク文字 (*) が含まれている場合は、この値が一連のアプリケーション名を表す式として用いられています。ここでは、アスタリスク (*) はゼロ以上の文字ストリングを表します。 式でアプリケーション名に アスタリスク文字を含める必要がある場合、アスタリスク文字を 2 つ続けて使用 (**) します。
SYSTEM_USER ('authorization-name', ...)
SYSTEM USER 接続属性に 1 つ以上の許可 ID を指定します。1 つの許可 ID をリストの中で複数回指定することはできません (SQLSTATE 42713)。
SESSION_USER ('authorization-name', ...)
SESSION USER 接続属性に 1 つ以上の許可 ID を指定します。1 つの許可 ID をリストの中で複数回指定することはできません (SQLSTATE 42713)。
SESSION_USER GROUP ('authorization-name', ...)
SESSION_USER GROUP 接続属性に 1 つ以上の許可 ID を指定します。1 つの許可 ID をリストの中で複数回指定することはできません (SQLSTATE 42713)。
SESSION_USER ROLE ('authorization-name', ...)
SESSION_USER ROLE 接続属性に 1 つ以上の許可 ID を指定します。このコンテキストでの SESSION 許可 ID のロールは、どのように取得されたロールであるかに関係なく、SESSION 許可 ID に使用可能なすべてのロールを参照します。1 つの許可 ID をリストの中で複数回指定することはできません (SQLSTATE 42713)。
CURRENT CLIENT_USERID ('user-id', ...)
CURRENT CLIENT_USERID 接続属性に 1 つ以上のクライアント・ユーザー ID を指定します。1 つのクライアント・ユーザー ID をリストの中で複数回指定することはできません (SQLSTATE 42713)。user-id に単一のアスタリスク文字 (*) が含まれている場合は、この値が一連のユーザー ID を表す式として用いられています。ここでは、アスタリスク (*) はゼロ以上の文字ストリングを表します。 式でユーザー ID にアスタリスク文字を含める必要がある場合は、アスタリスク文字を 2 つ続けて使用 (**) します。
CURRENT CLIENT_APPLNAME ('client-application-name', ...)
CURRENT CLIENT_APPLNAME 接続属性に 1 つ以上のアプリケーションを指定します。 1 つのアプリケーション名をリストの中で複数回指定することはできません (SQLSTATE 42713)。 client-application-name に単一のアスタリスク文字 (*) が含まれていない場合は、システム・モニター出力の「TP モニター・クライアント・アプリケーション名」フィールドに表示される値と等しくなります。 client-application-name に単一のアスタリスク文字 (*) が含まれている場合は、この値が一連のアプリケーション名を表す式として用いられています。ここでは、アスタリスク (*) はゼロ以上の文字ストリングを表します。 式でアプリケーション名に アスタリスク文字を含める必要がある場合、アスタリスク文字を 2 つ続けて使用 (**) します。
CURRENT CLIENT_WRKSTNNAME ('workstation-name', ...)
CURRENT CLIENT_WRKSTNNAME 接続属性に 1 つ以上のクライアント・ワークステーション名を指定します。1 つのクライアント・ワークステーション名をリストの中で複数回指定することはできません (SQLSTATE 42713)。workstation-name に単一のアスタリスク文字 (*) が含まれている場合は、この値が一連のワークステーション名を表す式として用いられています。ここでは、アスタリスク (*) はゼロ以上の文字ストリングを表します。 式でワークステーション名にアスタリスク文字を含める必要がある場合は、アスタリスク文字を 2 つ続けて使用 (**) します。
CURRENT CLIENT_ACCTNG ('accounting-string', ...)
CURRENT CLIENT_ACCTNG 接続属性に 1 つ以上のクライアント・アカウンティング・ストリングを指定します。1 つのクライアント・アカウンティング・ストリングをリストの中で複数回指定することはできません (SQLSTATE 42713)。accounting-string に単一のアスタリスク文字 (*) が含まれている場合は、この値が一連のアカウンティング・ストリングを表す式として用いられています。ここでは、アスタリスク (*) はゼロ以上の文字ストリングを表します。 式でアカウンティング・ストリングにアスタリスク文字を含める必要がある場合は、アスタリスク文字を 2 つ続けて使用 (**) します。
ALLOW DB ACCESS または DISALLOW DB ACCESS
このワークロードに関連付けられているワークロード・オカレンスにデータベースへのアクセスを許可するかどうかを指定します。
ALLOW DB ACCESS
このワークロードに関連付けられているワークロード・オカレンスにデータベースへのアクセスを許可することを指定します。
DISALLOW DB ACCESS
このワークロードに関連付けられているワークロード・オカレンスにデータベースへのアクセスを許可しないことを指定します。このワークロードに関連付けられている次の作業単位は拒否されます (SQLSTATE 5U020)。既に実行中のワークロード・オカレンスは完了まで実行できます。workload-name が'SYSDEFAULTADMWORKLOAD' の場合は、このオプションを指定できません (SQLSTATE 42832)。
ENABLE または DISABLE
ワークロードを選択する際にこのワークロードを考慮するかどうかを指定します。
ENABLE
このワークロードを有効にし、ワークロードを選択する際にこのワークロードを考慮することを指定します。
DISABLE
このワークロードを無効にし、ワークロードを選択する際にこのワークロードを考慮しないことを指定します。 workload-name が SYSDEFAULTUSERWORKLOAD または SYSDEFAULTADMWORKLOAD の場合は、このオプションを指定できません (SQLSTATE 42832)。
MAXIMUM DEGREE
このワークロードにおける、最大のランタイム並列処理の度合いを指定します。workload-name が SYSDEFAULTADMWORKLOAD である場合は、MAXIMUM DEGREE 属性を変更できません。
DEFAULT
DB2_WORKLOAD=ANALYTICS の場合、この設定は、このワークロードのパーティション内並列処理を使用可能にします。それ以外の場合、この設定は、このワークロードがパーティション内並列処理の設定をデータベース・マネージャー構成パラメーター intra_parallel から継承することを指定します。intra_parallelNO に設定されている場合、このワークロードが実行されるときのパーティション内並列処理は無効になります。 intra_parallelYES に設定されている場合、このワークロードが実行されるときのパーティション内並列処理は有効になります。 このワークロードでは、割り当てられたアプリケーションのためにランタイムの最大の度合いが指定されません。 したがって、 実際のランタイムの度合いは、max_querydegree 構成パラメーターの値、 照会のサービス・クラスに設定された MAXIMUM DEGREE、SET RUNTIME DEGREE コマンドで設定された値、 および SQL ステートメントのコンパイルの度合いの中で、最も低い値になります。
degree
このワークロードにおける、最大の並列処理の度合いを指定します。有効な値は 1 から 32,767 までです。 値が 1 の場合、関連する要求が実行されるときのパーティション内並列処理は無効になります。 値が 2 から 32,767 までの場合、関連する要求が実行されるときのパーティション内並列処理は有効になります。 実際のランタイムの度合いは、 この degreemax_querydegree 構成パラメーターの値、 照会のサービス・クラスに設定された MAXIMUM DEGREE、SET RUNTIME DEGREE コマンドで設定された値、 および SQL ステートメントのコンパイルの度合いの中で、最も低い値になります。
SERVICE CLASS service-class-name
このワークロードに関連付けられている要求をサービス・クラス service-class-name で実行することを指定します。service-class-name には、現行のサーバー上の既存のサービス・クラスを指定する必要があります (SQLSTATE 42704)。service-class-name を 'SYSDEFAULTSUBCLASS'、'SYSDEFAULTSYSTEMCLASS'、または 'SYSDEFAULTMAINTENANCECLASS' にすることはできません (SQLSTATE 5U032)。workload-name が'SYSDEFAULTADMWORKLOAD' の場合は、このオプションを指定できません (SQLSTATE 42832)。
UNDER service-superclass-name
この節は、サービス・サブクラスを指定するときに使用されます。service-superclass-name は、service-class-name のサービス・スーパークラスを識別します。service-superclass-name には、現行のサーバー上の既存のサービス・スーパークラスを指定する必要があります (SQLSTATE 42704)。service-superclass-name を 'SYSDEFAULTSYSTEMCLASS' または 'SYSDEFAULTMAINTENANCECLASS' にすることはできません (SQLSTATE 5U032)。
POSITION
ワークロードの番号付きリストの中でこのワークロードをどの位置に配置するかを指定します。 実行時には、このリストの順番で、必須の接続属性と一致する最初のワークロードが検索されます。 workload-name が 'SYSDEFAULTUSERWORKLOAD' または 'SYSDEFAULTADMWORKLOAD' の場合は、このオプションを指定できません (SQLSTATE 42832)。
LAST
ワークロードが、デフォルトのワークロード SYSDEFAULTUSERWORKLOAD および SYSDEFAULTADMWORKLOAD の前の、リストで最後のワークロードであることを指定します。
BEFORE relative-workload-name
リストの中でワークロードをワークロード relative-workload-name の前に配置することを指定します。 relative-workload-name には、現行のサーバー上の既存のワークロードを指定する必要があります (SQLSTATE 42704)。relative-workload-name が 'SYSDEFAULTUSERWORKLOAD' または 'SYSDEFAULTADMWORKLOAD' の場合は、BEFORE オプションを指定できません (SQLSTATE 42832)。
AFTER relative-workload-name
リストの中でワークロードをワークロード relative-workload-name の後に配置することを指定します。 relative-workload-name には、現行のサーバー上の既存のワークロードを指定する必要があります (SQLSTATE 42704)。relative-workload-name が 'SYSDEFAULTUSERWORKLOAD' または 'SYSDEFAULTADMWORKLOAD' の場合は、AFTER オプションを指定できません (SQLSTATE 42832)。
AT position
リストの中でのワークロードの絶対位置を指定します。 この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42615)。position が既存のワークロードの数に 1 を足した値より大きい場合、ワークロードはリストの最後、SYSDEFAULTUSERWORKLOAD および SYSDEFAULTADMWORKLOAD のすぐ前に置かれます。
COLLECT ACTIVITY DATA
このワークロードに関連付けられている各アクティビティーに関するデータを、アクティビティーが完了したときに、任意のアクティブなアクティビティー・イベント・モニターに送信するように指定します。
alter-collect-activity-data-clause
ON COORDINATOR MEMBER
アクティビティーのコーディネーター・メンバーでのみ、アクティビティー・データを収集することを指定します。
ON ALL MEMBERS
アクティビティーが処理されるすべてのメンバーでアクティビティー・データを収集することを指定します。リモート・メンバーでは、アクティビティーがそれらのメンバーで発生および終了するときに、アクティビティーの 1 レコードが複数回キャプチャーされる場合があります。 AND VALUES 節が指定されている場合は、コーディネーターのメンバーについてのみ、アクティビティー入力値が収集されます。
WITHOUT DETAILS
このワークロードに関連付けられている各アクティビティーに関するデータを、アクティビティーの実行が完了したときに、任意のアクティブなアクティビティー・イベント・モニターに送信するように指定します。 ステートメント、コンパイル環境、 およびセクション環境のデータに関する詳細は送信されません。
WITH
DETAILS
任意のアクティブなアクティビティーにステートメントおよびコンパイル環境のデータが含まれる場合、 それを該当するアクティビティーのイベント・モニターへ送信すること を指定します。セクションの環境データは送信されません。
SECTION
ステートメント、コンパイル環境、セクション環境データ、セクション actuals を、それらが含まれるアクティビティー用のアクティブなアクティビティー・イベント・モニターに送信することを指定します。DETAILSSECTION が指定されている場合、 指定する必要があります。セクション actuals は、アクティビティー・データが収集されるすべてのメンバーで収集されます。
INCLUDE ACTUALS BASE
セクション actuals を、アクティビティー・データが収集されるすべてのパーティションでも収集することを示します。セクション actuals を収集するには、INCLUDE ACTUALS 節を指定するか、section_actuals データベース構成パラメーターを設定する必要があります。

セクション actuals の収集の有効な設定は、INCLUDE ACTUALS 節、section_actuals データベース構成パラメーター、および WLM_SET_CONN_ENV ルーチンで指定される <collectsectionactuals> 設定の組み合わせです。例えば、INCLUDE ACTUALS BASE を指定しても、section_actuals データベース構成パラメーターの値と <collectsectionactuals> を NONE に設定する場合、セクション actuals の収集の有効な設定は BASE になります。

BASE は、アクティビティーの実行時に、以下の実行時統計を有効化および収集する必要があることを指定します。
  • 基本演算子のカーディナリティー・カウント
  • 参照される各オブジェクトの統計 (DML ステートメントのみ)
AND VALUES
任意のアクティブなアクティビティーに入力データ値が含まれている場合、 それを該当するアクティビティーのイベント・モニターに送信することを指定します。このデータには、REOPT ALWAYS BIND オプションを使用してコンパイルされた SQL ステートメントは含まれません。
NONE
このワークロードに関連付けられている各アクティビティーについてはアクティビティー・データを収集しないように指定します。
COLLECT ACTIVITY METRICS
ワークロードの発生によりサブミットされるアクティビティーで、モニター・メトリックを収集するように指定します。デフォルトは COLLECT ACTIVITY METRICS NONE です。

有効なアクティビティー・メトリックの収集の設定は、アクティビティーをサブミットするワークロードに関する COLLECT ACTIVITY METRICS 節で指定された属性と、MON_ACT_METRICS データベース構成パラメーターの組み合わせです。ワークロード属性か構成パラメーターのいずれかに NONE 以外の値がある場合は、アクティビティーのメトリックが収集されます。

NONE
ワークロードの発生によりサブミットされる任意のアクティビティーで、メトリックを収集しないように指定します。
BASE
ワークロードの発生によりサブミットされる任意のアクティビティーで、基本メトリックを収集するように指定します。
EXTENDED
ワークロードの発生によりサブミットされる任意のアクティビティーで、基本メトリックを収集するように指定します。 さらに、以下のモニター・エレメントの値が、追加細分度により決定されることを指定します。
  • total_section_time
  • total_section_proc_time
  • total_routine_user_code_time
  • total_routine_user_code_proc_time
  • total_routine_time
COLLECT AGGREGATE ACTIVITY DATA
このワークロードに関連付けられているアクティビティーに関する集約アクティビティー・データを、統計イベント・モニター (アクティブになっている場合) に送信するように指定します。この情報は、wlm_collect_int データベース構成パラメーターで指定されたインターバルにより周期的に収集されます。 COLLECT AGGREGATE ACTIVITY DATA を指定した場合のデフォルトは、COLLECT AGGREGATE ACTIVITY DATA BASE です。
BASE
このワークロードに関連付けられているアクティビティーに関する基礎集約アクティビティー・データを、統計イベント・モニター (アクティブになっている場合) に送信するように指定します。基礎集約アクティビティー・データには以下のものが含まれます。
  • アクティビティー・コストの最高水準点の見積もり
  • 戻り行数の最高水準点
  • TEMPORARY 表スペース使用量の最高水準点。この最高水準点が関係するのは、SQLTEMPSPACE しきい値が適用されているアクティビティーのみです。
  • アクティビティー存続時間のヒストグラム
  • アクティビティー・キュー時間のヒストグラム
  • アクティビティー実行時間のヒストグラム
EXTENDED
このワークロードに関連付けられているアクティビティーに関するすべての集約アクティビティー・データを、統計イベント・モニター (アクティブになっている場合) に送信するように指定します。これには、すべての基礎集約アクティビティー・データに加えて、以下のものが含まれます。
  • アクティビティー・データ操作言語 (DML) の見積コスト・ヒストグラム
  • アクティビティー DML の到着間隔時間のヒストグラム
NONE
このワークロードについて集約アクティビティー・データを収集しないように指定します。
COLLECT AGGREGATE UNIT OF WORK DATA
このワークロードに関連付けられている作業単位に関する集約作業単位データを、統計イベント・モニター (アクティブになっている場合) に送信するように指定します。 この情報は、wlm_collect_int データベース構成パラメーターで指定されたインターバルにより周期的に収集されます。 COLLECT AGGREGATE UNIT OF WORK DATA が指定されている場合、デフォルトは COLLECT AGGREGATE UNIT OF WORK DATA BASE になります。
BASE
このワークロードに関連付けられている作業単位に関する基礎集約作業単位データを、統計イベント・モニター (アクティブになっている場合) に送信するように指定します。 基礎集約作業単位データには以下のものが含まれます。
  • 作業単位存続期間ヒストグラム
NONE
このワークロードについて集約作業単位データを収集しないように指定します。
COLLECT LOCK TIMEOUT DATA
このワークロード内で生じるロック・タイムアウト・イベントのデータを、デッドロック・イベントが生じたときに、任意のアクティブなロック・イベント・モニターに送信することを指定します。ロック・タイムアウト・データは、すべてのメンバーで収集されます。この設定は、MON_LOCKTIMEOUT データベース構成設定と連動して作用します。最も詳細な出力を生成する設定が優先されます。
alter-collect-history-clause
WITHOUT HISTORY
このワークロード内で生じるロック・イベントのデータを、ロック・イベントが生じたときに、任意のアクティブなロック・イベント・モニターに送信することを指定します。過去のアクティビティー履歴および入力値はイベント・モニターに送信されません。
WITH HISTORY
このロック・イベントのタイプのすべてに対して、現行の作業単位で、過去のアクティビティー履歴を集めるよう指定します。アクティビティー履歴のバッファーは、最大サイズの制限値が使用された後、ラップされます。

1 つのアプリケーションが保持する過去のアクティビティー数に対するデフォルトの制限値は 250 です。過去のアクティビティー数が制限を越える場合には、新しい方のアクティビティーだけが報告されます。 このデフォルト値は、 レジストリー変数 DB2_MAX_INACT_STMTS を使用して別の値を指定することにより、オーバーライド できます。過去のアクティビティー情報に使用されるシステム・モニター・ヒープ量を増加または減少させるために、制限値に別の値を選択することができます。

AND VALUES
任意のアクティブなアクティビティーに入力データ値が含まれている場合、それを該当するロック・イベント・モニターに送信することを指定します。これらのデータ値には LOB データ、LONG VARCHAR データ、LONG VARGRAPHIC データ、構造化タイプ・データ、または XML データは含まれません。REOPT ALWAYS BIND オプションを使用してコンパイルされた SQL ステートメントについては、REOPT コンパイルまたはステートメントの実行データ値はイベント通知に提供されません。
NONE
ワークロードのロック・タイムアウト・データがどのメンバーでも収集されないように指定します。
COLLECT DEADLOCK DATA
このワークロード内で生じるロック・イベントのデータを、デッドロック・イベントが生じたときに、任意のアクティブなロック・イベント・モニターに送信することを指定します。デッドロック・データは、すべてのメンバーで収集されます。この設定が反映されるのは、MON_DEADLOCK データベース構成パラメーターが NONE に設定されていない場合に限ります。
alter-collect-history-clause
WITHOUT HISTORY
このワークロード内で生じるロック・イベントのデータを、ロック・イベントが生じたときに、任意のアクティブなロック・イベント・モニターに送信することを指定します。過去のアクティビティー履歴および入力値はイベント・モニターに送信されません。
WITH HISTORY
このロック・イベントのタイプのすべてに対して、現行の作業単位で、過去のアクティビティー履歴を集めるよう指定します。アクティビティー履歴のバッファーは、最大サイズの制限値が使用された後、ラップされます。

1 つのアプリケーションが保持する過去のアクティビティー数に対するデフォルトの制限値は 250 です。過去のアクティビティー数が制限を越える場合には、新しい方のアクティビティーだけが報告されます。 このデフォルト値は、 レジストリー変数 DB2_MAX_INACT_STMTS を使用して別の値を指定することにより、オーバーライド できます。過去のアクティビティー情報に使用されるシステム・モニター・ヒープ量を増加または減少させるために、制限値に別の値を選択することができます。

AND VALUES
任意のアクティブなアクティビティーに入力データ値が含まれている場合、それを該当するロック・イベント・モニターに送信することを指定します。これらのデータ値には LOB データ、LONG VARCHAR データ、LONG VARGRAPHIC データ、構造化タイプ・データ、または XML データは含まれません。REOPT ALWAYS BIND オプションを使用してコンパイルされた SQL ステートメントについては、REOPT コンパイルまたはステートメントの実行データ値はイベント通知に提供されません。
COLLECT LOCK WAIT DATA
このワークロード内で生じるロック待機イベントのデータを、wait-time 内でロックが達成されなかった場合に、任意のアクティブなロック・イベント・モニターに送信するように指定します。この設定は、mon_lockwaitmon_lw_thresh のデータベース構成パラメーターと連動して作用します。最も詳細な出力を生成する設定が優先されます。
alter-collect-lock-wait-data-clause
FOR LOCKS WAITING MORE THAN wait-time SECONDS | MICROSECONDS) | 1 SECOND
このワークロード内で生じるロック待機イベントのデータを、wait-time 内でロックが達成されなかった場合に、該当するイベント・モニターに送信するように指定します。

この値は、負以外の任意の整数とすることができます。 有効な期間キーワードを使用して、wait-time に適切な時間の単位を指定してください。 wait-time パラメーターに有効な最小値は 1000 マイクロ秒です。

WITH HISTORY
このロック・イベントのタイプのすべてに対して、現行の作業単位で、過去のアクティビティー履歴を集めるよう指定します。アクティビティー履歴のバッファーは、最大サイズの制限値が使用された後、ラップされます。

1 つのアプリケーションが保持する過去のアクティビティー数に対するデフォルトの制限値は 250 です。過去のアクティビティー数が制限を越える場合には、新しい方のアクティビティーだけが報告されます。 このデフォルト値は、 レジストリー変数 DB2_MAX_INACT_STMTS を使用して別の値を指定することにより、オーバーライド できます。過去のアクティビティー情報に使用されるシステム・モニター・ヒープ量を増加または減少させるために、制限値に別の値を選択することができます。

AND VALUES
任意のアクティブなアクティビティーに入力データ値が含まれている場合、それを該当するロック・イベント・モニターに送信することを指定します。これらのデータ値には LOB データ、LONG VARCHAR データ、LONG VARGRAPHIC データ、構造化タイプ・データ、または XML データは含まれません。REOPT ALWAYS BIND オプションを使用してコンパイルされた SQL ステートメントについては、REOPT コンパイルまたはステートメントの実行データ値はイベント通知に提供されません。
NONE
ワークロードのロック待機イベントがどのメンバーでも収集されないように指定します。
COLLECT UNIT OF WORK DATA
このワークロードに関連付けられている各作業単位 (トランザクションともいう) に関するデータを、作業単位の終了時に、作業単位イベント・モニター (作成されている場合) に送信するように指定します。デフォルトは COLLECT UNIT OF WORK BASE です。mon_uow_data データベース構成パラメーターが BASE に設定されている場合は、COLLECT UNIT OF WORK DATA パラメーターよりも優先されます。mon_uow_data の値が NONE の場合は、個々のワークロードの COLLECT UNIT OF WORK DATA パラメーターが使用されることを示します。
BASE
このワークロードに関連付けられているトランザクションの基本レベルのデータが、作業単位イベント・モニターに送信されるように指定します。

作業単位イベントで報告される情報の一部は、システム・レベルの要求メトリックです。 これらのメトリックのコレクションは、作業単位データのコレクションとは別に制御されます。 要求メトリックは、スーパークラスの COLLECT REQUEST METRICS 節か、mon_req_metrics データベース構成パラメーターを使用して制御します。このワークロードが関連付けられているサービス・スーパークラス、またはこのワークロードが関連付けられているサービス・サブクラスのサービス・スーパークラスでは、要求メトリックが作業単位イベント内に存在するためには、その要求メトリックのコレクションを有効にしておく必要があります。 要求メトリック・コレクションが有効になっていないと、要求メトリックの値はゼロになります。

INCLUDE PACKAGE LIST
このワークロードに関連付けられたトランザクションの基本レベルのデータとパッケージ・リストを、作業単位イベント・モニターに送信することを指定します。

収集されるパッケージ・リストのサイズは、mon_pkglist_sz データベース構成パラメーターの値で決まります。 この値が 0 の場合は、PACKAGE LIST オプションを指定してもパッケージ・リストは収集されません。

パーティション・データベース環境では、コーディネーター・メンバーでのみパッケージ・リストを使用できます。 リモート・メンバーでは BASE レベルが収集されます。

作業単位イベントで報告される情報の一部は、システム・レベルの要求メトリックです。 これらのメトリックのコレクションは、作業単位データのコレクションとは別に制御されます。 要求メトリックは、スーパークラスの COLLECT REQUEST METRICS 節か、mon_req_metrics データベース構成パラメーターを使用して制御します。このワークロードが関連付けられているサービス・スーパークラス、またはこのワークロードが関連付けられているサービス・サブクラスのサービス・スーパークラスでは、要求メトリックが作業単位イベント内に存在するためには、その要求メトリックのコレクションを有効にしておく必要があります。 要求メトリック・コレクションが有効になっていないと、要求メトリックの値はゼロになります。

INCLUDE EXECUTABLE LIST
基本レベルのデータと共に作業単位の実行可能 ID リストを収集して作業単位イベント・モニターに送信するように指定します。
NONE
このワークロードに関連付けられているトランザクションの作業単位データを作業単位イベント・モニターに送信しないように指定します。
ACTIVITY LIFETIME HISTOGRAM TEMPLATE template-name
このワークロードで特定の間隔で実行中のデータベース・アクティビティーの所要時間 (ミリ秒単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。この時間には、キューに入っていた時間と実行時間の両方が含まれます。 この情報は、COLLECT AGGREGATE ACTIVITY DATA 節と、その BASE または EXTENDED のどちらかのオプションが指定されている場合にのみ収集されます。
ACTIVITY QUEUETIME HISTOGRAM TEMPLATE template-name
このワークロードで実行中のデータベース・アクティビティーが特定の間隔でキューに入れられている時間 (ミリ秒単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。この情報は、COLLECT AGGREGATE ACTIVITY DATA 節と、その BASE または EXTENDED のどちらかのオプションが指定されている場合にのみ収集されます。
ACTIVITY EXECUTETIME HISTOGRAM TEMPLATE template-name
このワークロードで実行中のデータベース・アクティビティーが特定の間隔で実行されている時間 (ミリ秒単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。この時間には、アクティビティーがキューに入っていた時間は含まれません。 このヒストグラムにおいて、アクティビティーの実行時間はコーディネーター・メンバーでのみ収集されます。 アイドル時間はこの時間に含まれません。 アイドル時間とは、要求が実行されてから同じアクティビティーに属する別の要求が実行されるまでの間、何も作業が実行されていない時間のことです。 アイドル時間の一例として、カーソルのオープンが終了してからカーソルからのフェッチが開始するまでの間の時間があります。 この情報は、COLLECT AGGREGATE ACTIVITY DATA 節と、その BASE または EXTENDED のどちらかのオプションが指定されている場合にのみ収集されます。
ACTIVITY ESTIMATEDCOST HISTOGRAM TEMPLATE template-name
このワークロードで実行中の DML アクティビティーの見積コスト (timeron 単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。 この情報は、COLLECT AGGREGATE ACTIVITY DATA 節とその EXTENDED オプションが指定されている場合にのみ収集されます。
ACTIVITY INTERARRIVALTIME HISTOGRAM TEMPLATE template-name
このワークロード内の 1 つの DML アクティビティーの到着から、このワークロード内の次の DML アクティビティーの到着までの時間 (ミリ秒単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。この情報は、COLLECT AGGREGATE ACTIVITY DATA 節とその EXTENDED オプションが指定されている場合にのみ収集されます。
UOW LIFETIME HISTOGRAM TEMPLATE template-name
特定のインターバルの中で、このワークロードで実行されている作業単位の所要時間 (ミリ秒単位) に関する統計データを収集するために使用されるヒストグラムを記述するテンプレートを指定します。デフォルトは SYSDEFAULTHISTOGRAM です。 この情報は、COLLECT AGGREGATE UNIT OF WORK DATA 節とその BASE オプションが指定されている場合にのみ収集されます。

規則

  • ワークロード管理 (WLM) 排他 SQL ステートメントの後は COMMIT または ROLLBACK ステートメントでなければなりません (SQLSTATE 5U021)。 WLM 排他 SQL ステートメントは次のとおりです。
    • CREATE HISTOGRAM TEMPLATE、ALTER HISTOGRAM TEMPLATE、または DROP (HISTOGRAM TEMPLATE)
    • CREATE SERVICE CLASS、ALTER SERVICE CLASS、または DROP (SERVICE CLASS)
    • CREATE THRESHOLD、ALTER THRESHOLD、または DROP (THRESHOLD)
    • CREATE WORK ACTION SET、ALTER WORK ACTION SET、または DROP (WORK ACTION SET)
    • CREATE WORK CLASS SET、ALTER WORK CLASS SET、または DROP (WORK CLASS SET)
    • CREATE WORKLOAD、ALTER WORKLOAD、または DROP (WORKLOAD)
    • GRANT (ワークロード特権) または REVOKE (ワークロード特権)
  • WLM 排他 SQL ステートメントをグローバル・トランザクション (例えば XA トランザクション) 内で発行することはできません (SQLSTATE 51041)。

  • 変更はシステム・カタログに書き込まれますが、コミットされるまでは有効になりません。 これは、ステートメントを発行する接続の場合でも当てはまります。 新しくサブミットされるワークロード・オカレンスの場合は、変更は ALTER WORKLOAD ステートメントがコミットされた後に有効になります。アクティブなワークロード・オカレンスの場合は、変更は次の作業単位の開始時に有効になります。
  • 全パーティションを通じて、同時に実行できる非コミットの WLM 排他 SQL ステートメントは 1 つのみです。 非コミットの WLM 排他 SQL ステートメントが実行されている場合、後続の WLM 排他 SQL ステートメントは、現行の WLM 排他 SQL ステートメントがコミットまたはロールバックされるまで待機します。
  • DISABLE オプションが指定される場合、ワークロードはステートメントのコミット後に無効になります。次回ワークロードの選択が行われる際には、このワークロードは考慮されません。ALTER WORKLOAD ステートメントのコミット時に、このワークロードに関連付けられているアクティブなワークロード・オカレンスが存在する場合、そのワークロード・オカレンスは、現行の作業単位が終了するまで引き続き実行されます。次の作業単位が開始されるときにワークロードの再評価が行われ、接続は別のワークロードに関連付けられます。
  • 特権: ワークロードが作成されるとき、USAGE 特権はどのユーザー、グループ、およびロールにも付与されません。 ワークロードを使用可能にするには、GRANT USAGE ON WORKLOAD ステートメントを使用して、そのワークロードの USAGE 特権を、ユーザー、グループ、またはロールに付与します。

  • 例 1: ワークロード PAYROLL の現在の位置づけでは、実行時にデータベース・マネージャーがワークロードを選択する際、ワークロード INVENTORY が最初に考慮されるようになっています。評価の順序を変更して、PAYROLL が最初に考慮されるようにします。
       ALTER WORKLOAD PAYROLL
         POSITION BEFORE INVENTORY
  • 例 2: データベース・マネージャーがカタログ内の他のワークロードよりも先にワークロード BENCHMARK を評価するように、評価の順序を変更します。
       ALTER WORKLOAD BENCHMARK
         POSITION AT 1
  • 例 3: APPLNAME を appl1、appl2、および appl3 に設定し、SYSTEM_USER を BOB および MARY に設定して、ワークロード REPORTS が作成されました。このワークロードを変更して、アプリケーション名のリストに新しいアプリケーション appl4 を追加し、REPORTS にマップされなくなった appl2 を除去します。
       ALTER WORKLOAD REPORTS
         ADD APPLNAME ('appl4')
         DROP APPLNAME ('appl2')
  • 例 4: LOCK という名前のロック・イベント・モニターが存在し、アクティブになっていると仮定して、ワークロード APP 内で発生するロック・タイムアウト・イベントのステートメント履歴を使用してロック・イベント・レコードを作成します。
       ALTER WORKLOAD APP
         COLLECT LOCK TIMEOUT DATA WITH HISTORY
  • 例 5: LOCK という名前のロック・イベント・モニターが存在し、アクティブになっていると仮定して、全パーティションのワークロード PAYROLL 内で発生するデッドロック・イベントとロック・タイムアウト・イベントだけのロック・イベント・レコードを作成します。
       ALTER WORKLOAD PAYROLL
         COLLECT DEADLOCK DATA
         COLLECT LOCK TIMEOUT DATA WITHOUT HISTORY
  • 例 6: LOCK という名前のロック・イベント・モニターが存在し、アクティブになっていると仮定して、ワークロード INVOICE 内で発生するデッドロック・イベントのステートメント履歴と値を使用してロック・イベント・レコードを作成します。
       ALTER WORKLOAD INVOICE
         COLLECT DEADLOCK DATA WITH HISTORY AND VALUES
  • 例 7: LOCK という名前のロック・イベント・モニターが存在し、アクティブになっていると仮定して、ワークロード INVOICE 内で 150 ミリ秒より長く待機した後に獲得されるロックのステートメント履歴と値を使用してロック・イベント・レコードを作成します。
       ALTER WORKLOAD INVOICE
         COLLECT LOCK WAIT DATA FOR LOCKS WAITING MORE THAN 150000
         MICROSECONDS WITH HISTORY AND VALUES
  • 例 8: ワークロード REPORTS を作業単位データを収集するように変更して、作業単位イベント・モニターに送信します。
       ALTER WORKLOAD REPORTS
         COLLECT UNIT OF WORK DATA BASE