ALTER THRESHOLD ステートメント
ALTER THRESHOLD ステートメントは、しきい値の定義を変更します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
- SQLADM 権限 (すべての変更節が COLLECT 節の場合のみ)
- WLMADM 権限
- DBADM 権限
構文
説明
- threshold-name
- 変更するしきい値を識別します。これは、1 部構成の名前です。 これは、SQL ID です (通常 ID または区切り ID)。 名前は、現行のサーバー上の既存のしきい値を一意的に識別するものでなければなりません (SQLSTATE 42704)。
- WHEN alter-threshold-predicate または WHEN EXCEEDED
- しきい値述部条件の既存の上限の値を新しい上限の値に置き換えます。しきい値の条件を別のものに変更することはできません。
- PERFORM ACTION
- しきい値述部条件の値を変更する際に、アクションを超過するしきい値は変更しないように指定します。
- EXCEEDED
- この変更済みしきい値にもともと指定されていたのと同じしきい値述部を保持するように指定します。
- alter-threshold-predicate
- TOTALMEMBERCONNECTIONS > integer-value
- この条件は、メンバー上で並行して実行できるコーディネーター接続の数の上限を定義します。 この値には、ゼロまたは任意の正整数を指定できます (SQLSTATE 42820)。値ゼロは、新しいコーディネーター接続を接続させないことを意味します。 現在実行中の接続やキューに入っている接続は続行されます。
- TOTALSCMEMBERCONNECTIONS > integer-value
- この条件は、特定のサービス・スーパークラスのメンバー上で並行して実行できるコーディネーター接続の数の上限を定義します。
この値には、ゼロまたは任意の正整数を指定できます (SQLSTATE 42820)。値ゼロは、新しい接続をサービス・クラスに結合しないことを意味します。
現在実行中の接続やキューに入っている接続は続行されます。
- AND QUEUEDCONNECTIONS > integer-value or AND QUEUEDCONNECTIONS UNBOUNDED
- コーディネーター接続が最大数を超えた場合のキュー・サイズを指定します。 この値には、ゼロまたは任意の正整数を指定できます (SQLSTATE 42820)。値ゼロは、コーディネーター接続をキューに入れないことを意味します。 UNBOUNDED を指定した場合は、指定されたコーディネーター接続の最大数を超えた接続がすべてキューに入れられ、threshold-exceeded-actions は実行されません。
- CONNECTIONIDLETIME > integer-value DAY | DAYS | HOUR | HOURS | MINUTE | MINUTES
- この条件は、データベース・マネージャーが接続をアイドル状態のままにしておく時間の上限を定義します。
この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。 有効な期間キーワードを使用して、integer-value に適切な時間の単位を指定してください。
この条件は、コーディネーター・メンバーで強制されます。
STOP EXECUTION アクションを CONNECTIONIDLETIME しきい値とともに指定した場合、しきい値を超過すると、アプリケーションの接続はドロップされます。それ以降にアプリケーションがデータ・サーバーへのアクセスを試行すると、アプリケーションがもはやデータ・サーバーに接続されていないため、SQLSTATE 5U026 を受け取ります。
このしきい値の最大値は 2 147 483 640 秒です。2 147 483 640 秒よりも 長い秒に相当する値が指定された場合は、 この秒数に設定されます。
- CONCURRENTWORKLOADOCCURRENCES > integer-value
- この条件は、各メンバーでの並行するワークロード・オカレンスの数の上限を定義します。この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。
- CONCURRENTWORKLOADACTIVITIES > integer-value
- この条件は、各メンバーのワークロードで並行して実行されるコーディネーター・アクティビティーとネストされたアクティビティーの数の上限を定義します。この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。ネストされるアクティビティーは、それぞれ以下の条件を満たしている必要があります。
- 認識されているコーディネーター・アクティビティーである必要があります。 認識されているアクティビティーのタイプに含まれないネストされたコーディネーター・アクティビティーは、カウントされません。 同じように、リモート・ノード要求などのネストされたサブエージェント・アクティビティーもカウントされません。
- SQL ステートメントを発行するユーザー作成のプロシージャーなどの、ユーザー・ロジックから直接呼び出される必要があります。
したがって、データベース・マネージャー・ユーティリティーや SYSIBM、SYSFUN、または SYSPROC スキーマのルーチンの呼び出しによって自動的に開始された、ネストされたコーディネーター・アクティビティーは、このしきい値で指定された上限にカウントされません。
制約の設定やマテリアライズ照会表のリフレッシュによって生成されるアクティビティーなどの内部 SQL アクティビティーも、データベース・マネージャーによって開始されるもので、ユーザー・ロジックによって直接呼び出されるものではないため、このしきい値にはカウントされません。
- CONCURRENTDBCOORDACTIVITIES > integer-value
- この条件は、指定されたドメイン内のすべてのメンバーで並行して実行できる、認識されているデータベース・コーディネーター・アクティビティーの数の上限を定義します。この値には、ゼロまたは任意の正整数を指定できます (SQLSTATE 42820)。値ゼロは、新しいデータベース・コーディネーター・アクティビティーを実行しないことを意味します。
現在実行中またはキューに入っているデータベース・コーディネーター・アクティビティーは続行されます。
以下の項目を除くすべてのアクティビティーがこの条件によって追跡されます。
- CALL ステートメントはこのしきい値によって制御されませんが、呼び出されるルーチン内で開始されるネストされたすべての子アクティビティーは、このしきい値によって制御されます。 無名ブロックと自律型ルーチンは CALL ステートメントとして分類されます。
- ユーザー定義関数はこのしきい値によって制御されますが、ユーザー定義関数の中でネストされた子アクティビティーは制御されません。 ユーザー定義関数の中から自律型ルーチンが呼び出される場合、自律型ルーチンも、その自律型ルーチンの子アクティビティーも、しきい値には制御されません。
- CALL ステートメントおよびこれらの CALL ステートメントの子アクティビティーを起動するトリガー・アクションは、このしきい値によって制御されません。 トリガーをアクティブ化させる可能性のある INSERT、UPDATE、DELETE ステートメントは、引き続きしきい値に制御されます。
重要: CONCURRENTDBCOORDACTIVITIES しきい値を使用する前に、それがデータベース・システムに与える影響についてよく理解しておいてください。詳しくは、CONCURRENTDBCOORDACTIVITIES しきい値を参照してください。
- AND QUEUEDACTIVITIES > integer-value or AND QUEUEDACTIVITIES UNBOUNDED
- データベース・コーディネーター・アクティビティーが最大数を超えた場合のキュー・サイズを指定します。
この値には、ゼロまたは任意の正整数を指定できます (SQLSTATE 42820)。値ゼロは、データベース・コーディネーター・アクティビティーをキューに入れないことを意味します。
UNBOUNDED を指定した場合、指定されたデータベース・コーディネーター・アクティビティーの最大数を超えたデータベース・コーディネーター・アクティビティーがすべてキューに入れられ、threshold-exceeded-actions は実行されません。
注: キューイングしきい値に対して CONTINUE しきい値アクションを指定した場合は、 キューのサイズとして指定されている強制値に関係なくキューのサイズが事実上無制限になります。
- ESTIMATEDSQLCOST > bigint-value
- この条件は、アクティビティーのオプティマイザー割り当てコスト (timeron 単位) の上限を定義します。
この値には、任意の正の 64 ビット整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。この条件は、コーディネーター・メンバーで強制されます。 この条件では、以下のアクティビティーが追跡されます。
- データ操作言語 (DML) タイプのコーディネーター・アクティビティー。
- ユーザー・ロジックから呼び出されるネストされた DML アクティビティー。したがって、データベース・マネージャー (ユーティリティー、プロシージャー、内部 SQL など) によって開始される DML アクティビティーは、この条件では追跡されません (ただし、コストが親の見積もりに含まれている場合は、これらのアクティビティーは間接的に追跡されます)。
- SQLROWSRETURNED > integer-value
- この条件は、アプリケーション・サーバーからクライアント・アプリケーションに戻される行の数の上限を定義します。
この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。この条件は、コーディネーター・メンバーで強制適用されます。
この条件では、以下のアクティビティーが追跡されます。
- DML タイプのコーディネーター・アクティビティー。
- ユーザー・ロジックから派生するネストされた DML アクティビティー。ユーティリティー、プロシージャー、または内部 SQL によってデータベース・マネージャーから開始されたアクティビティーは、この条件による影響を受けません。
- ACTIVITYTOTALTIME > integer-value DAY | DAYS | HOUR | HOURS | MINUTE | MINUTES | SECONDS
- この条件は、アクティビティーがキューに入れられている時間を含んだ、データベース・マネージャーがアクティビティーの実行のために許可する時間の上限を定義します。
この条件の定義ドメインは DATABASE、作業アクション (作業アクション定義ドメインのしきい値は CREATE WORK ACTION SET または ALTER WORK ACTION SET ステートメントを使用して作成される。作業アクション・セットがワークロードまたはデータベースに適用されなければならない)、SERVICE SUPERCLASS、SERVICE SUBCLASS、または WORKLOAD でなければならず、強制の有効範囲は DATABASE にする必要があります (SQLSTATE 5U037)。この条件は、コーディネーター・メンバーで論理的に強制されます。
指定する integer-value は、ゼロより大きい整数でなければなりません (SQLSTATE 42820)。 有効な期間キーワードを使用して、integer-value に適切な時間の単位を指定してください。 指定する時間単位が SECONDS の場合、値は 10 の倍数でなければなりません (SQLSTATE 42615)。 このしきい値に指定できる最大値は 2 147 483 640 秒です。 (DAY、HOUR、MINUTE、SECONDS 時間単位を使用して) 最大値よりも長い秒に相当する値が指定された場合は、エラーが戻されます (SQLSTATE 42615)。
- UOWTOTALTIME > integer-value DAY | DAYS | HOUR | HOURS | MINUTE | MINUTES | SECONDS
- この条件は、データベース・マネージャーが作業単位の実行を許可する時間の上限を定義します。
この値には、ゼロ以外の正整数を指定できます (SQLSTATE 42820)。
有効な期間キーワードを使用して、integer-value に適切な時間の単位を指定してください。
指定する時間単位が SECONDS の場合、値は 10 の倍数でなければなりません (SQLSTATE 42615)。
この条件は、コーディネーター・メンバーで強制されます。
このしきい値に指定できる最大値は 2 147 483 640 秒です。 (DAY、HOUR、MINUTE、SECONDS 時間単位を使用して) 最大値よりも長い秒に相当する値が指定された場合は、エラーが戻されます (SQLSTATE 42615)。
- SQLTEMPSPACE > integer-value K | M | G
- この条件は、メンバー上にある、SQL ステートメントで消費できるシステム一時スペースの最大量を定義します。
この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。
integer-value K (大文字または小文字のどちらでも可) を指定した場合、最大サイズは integer-value の 1024 倍です。 integer-value M を指定した場合は、最大サイズは integer-value の 1 048 576 倍です。integer-value G を指定した場合は、最大サイズは integer-value の 1 073 741 824 倍です。
この条件では、以下のアクティビティーが追跡されます。- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行)。ユーティリティー、プロシージャー、または内部 SQL によってデータベース・マネージャーから開始されたアクティビティーは、この条件による影響を受けません。
- AGGSQLTEMPSPACE > integer-value K | M | G
この条件は、メンバー上にある、サービス・クラスの一連のステートメントによって消費できるシステム一時スペースの最大量を定義します。 この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。
integer-value K (大文字または小文字のどちらでも可) を指定した場合、最大サイズは integer-value の 1024 倍です。integer-value M を指定した場合は、最大サイズは integer-value の 1 048 576 倍です。integer-value G を指定した場合は、最大サイズは integer-value の 1 073 741 824 倍です。
この条件で追跡される集合に関係するアクティビティーは次のとおりです。
- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行など)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、 それに対応するサブエージェント作業 (サブセクション実行など)。ユーティリティー、プロシージャー、または内部 SQL ステートメントによってデータベース・マネージャーから開始されたアクティビティーは、この条件による影響を受けません。
- SQLROWSREAD > bigint-value
- この条件は、特定のメンバー上でアクティビティーがその存続時間中に読み取ることができる行数の上限を定義します。
この値には、任意の正の 64 ビット整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。読み取られる
行数は返される行数とは異なることに注意してください。
返される行数は、SQLROWSRETURNED 条件によって制御されます。
この条件では、以下のアクティビティーが追跡されます。
- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行など)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、 それに対応するサブエージェント作業 (サブセクション実行など)。データベース・マネジャーがユーティリティーまたは プロシージャー (ADMIN_CMD プロシージャーを除く) を使用して開始したアクティビティーは、この条件ではカウントされません。
- 制約の設定や マテリアライズ照会表のリフレッシュによって開始されるアクティビティーなどの内部 SQL アクティビティーも、 データベース・マネージャーによって開始されるもので、 ユーザー・ロジックによって直接呼び出されるものではないため、このしきい値には 追跡されません。
- CHECKING EVERY integer-value SECOND | SECONDS
- アクティビティーのしきい値条件がチェックされる頻度を指定します。 しきい値は、各要求 (フェッチ操作 など) の最後に、CHECKING 節によって定義された間隔でチェックされます。CHECKING 節は、しきい値違反がある場合に、それが検出されない状態が続く時間の上限を定義します。 この値には、86400 秒を上限として、任意の正整数 (ゼロ以外) を 指定できます (SQLSTATE 42820)。低い値を設定すると、 システム性能に悪影響を与える可能性があります。
- SQLROWSREADINSC > bigint-value
- この条件は、特定のメンバー上のアクティビティーが、サービス・サブクラスで実行中に読み取ることができる行数の上限を定義します。
指定したサービス・サブクラスでの実行前に読み取られる行はカウントされません。
この値には、任意の正の 64 ビット整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。読み取られる
行数は返される行数とは異なることに注意してください。
返される行数は、SQLROWSRETURNED 条件によって制御されます。
この条件では、以下のアクティビティーが追跡されます。
- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行など)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、 それに対応するサブエージェント作業 (サブセクション実行など)。データベース・マネジャーがユーティリティーまたは プロシージャー (ADMIN_CMD プロシージャーを除く) を使用して開始したアクティビティーは、この条件ではカウントされません。
- 制約の設定や マテリアライズ照会表のリフレッシュによって開始されるアクティビティーなどの内部 SQL アクティビティーも、 データベース・マネージャーによって開始されるもので、 ユーザー・ロジックによって直接呼び出されるものではないため、このしきい値には 追跡されません。
- CHECKING EVERY integer-value SECOND | SECONDS
- アクティビティーのしきい値条件がチェックされる頻度を指定します。 しきい値は、各要求 (フェッチ操作 など) の最後に、CHECKING 節によって定義された間隔でチェックされます。CHECKING 節は、しきい値違反がある場合に、それが検出されない状態が続く時間の上限を定義します。 この値には、86400 秒を上限として、任意の正整数 (ゼロ以外) を 指定できます (SQLSTATE 42820)。低い値を設定すると、 システム性能に悪影響を与える可能性があります。
- CPUTIME > integer-value DAY | DAYS | HOUR | HOURS | MINUTE | MINUTES | SECOND | SECONDS
- この条件は、特定のメンバー上でアクティビティーがその存続時間中に消費できるプロセッサー時間の上限を定義します。 このしきい値で追跡されるプロセッサー時間は、アクティビティーの実行開始時刻から計測されます。
この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。
この条件では、以下のアクティビティーが追跡されます。
- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行など)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、 それに対応するサブエージェント作業 (サブセクション実行など)。データベース・マネジャーがユーティリティーまたは プロシージャー (ADMIN_CMD プロシージャーを除く) を使用して開始したアクティビティーは、この条件ではカウントされません。
- 制約の設定や マテリアライズ照会表のリフレッシュによって開始されるアクティビティーなどの内部 SQL アクティビティーも、 データベース・マネージャーによって開始されるもので、 ユーザー・ロジックによって直接呼び出されるものではないため、このしきい値には 追跡されません。
- タイプ CALL のアクティビティー。CALL アクティビティーでは、プロシージャーのために追跡されるプロセッサー時間には、子アクティビティーまたは fenced モード・プロセスで使用されるプロセッサー時間は含まれません。 このしきい値条件は、ユーザー・ロジックからデータベース・エンジンへの戻りでのみチェックされます。 例えば、トラステッド・ルーチンの実行中にしきい値条件がチェックされるのは、そのルーチンがデータベース・エンジンに要求を発行するときのみです。
- CHECKING EVERY integer-value SECOND | SECONDS
- アクティビティーのしきい値条件がチェックされる頻度を指定します。 CPUTIME しきい値の細分度は、この数値にアクティビティーの並列処理の度合いを乗算したものとほぼ等しくなります。 例えば、しきい値が 60 秒ごとにチェックされ、並列処理の度合いが 2 である場合、 アクティビティーが、しきい値違反が検出される前に、プロセッサー時間を 1 分ではなく、余分に 2 分使用することがあります。この値には、86400 秒を上限として、任意の正整数 (ゼロ以外) を 指定できます (SQLSTATE 42820)。低い値を設定すると、 システム性能に悪影響を与える可能性があります。
- CPUTIMEINSC > integer-value DAY | DAYS | HOUR | HOURS | MINUTE | MINUTES | SECOND | SECONDS
- この条件は、特定のメンバー上のアクティビティーが、サービス・サブクラスで実行中に消費できるプロセッサー時間の上限を定義します。
このしきい値で追跡されるプロセッサー時間は、しきい値ドメインで識別されるサービス・サブクラス内でのアクティビティーの実行開始時刻から計測されます。
その時点より前に使用されるプロセッサー時間は、このしきい値が課す制限の対象にはなりません。
この値には、任意の正整数 (ゼロ以外) を指定できます (SQLSTATE 42820)。
この条件では、以下のアクティビティーが追跡されます。
- DML タイプのコーディネーター・アクティビティーと、それに対応するサブエージェント作業 (サブセクション実行など)。
- ユーザー・ロジックから派生するネストされた DML アクティビティーと、 それに対応するサブエージェント作業 (サブセクション実行など)。データベース・マネジャーがユーティリティーまたは プロシージャー (ADMIN_CMD プロシージャーを除く) を使用して開始したアクティビティーは、この条件ではカウントされません。
- 制約の設定や マテリアライズ照会表のリフレッシュによって開始されるアクティビティーなどの内部 SQL アクティビティーも、 データベース・マネージャーによって開始されるもので、 ユーザー・ロジックによって直接呼び出されるものではないため、このしきい値には 追跡されません。
- タイプ CALL のアクティビティー。CALL アクティビティーでは、プロシージャーのために追跡されるプロセッサー時間には、子アクティビティーまたは fenced モード・プロセスで使用されるプロセッサー時間は含まれません。 このしきい値条件は、ユーザー・ロジックからデータベース・エンジンへの戻りでのみチェックされます。 例えば、トラステッド・ルーチンの実行中にしきい値条件がチェックされるのは、そのルーチンがデータベース・エンジンに要求を発行するときのみです。
- CHECKING EVERY integer-value SECOND | SECONDS
- アクティビティーのしきい値条件がチェックされる頻度を指定します。 CPUTIMEINSC しきい値の細分度は、この数値にアクティビティーの並列処理の度合いを乗算したものとほぼ等しくなります。 例えば、しきい値が 60 秒ごとにチェックされ、並列処理の度合いが 2 である場合、 アクティビティーが、しきい値違反が検出される前に、プロセッサー時間を 1 分ではなく、余分に 2 分使用することがあります。この値には、86400 秒を上限として、任意の正整数 (ゼロ以外) を 指定できます (SQLSTATE 42820)。低い値を設定すると、 システム性能に悪影響を与える可能性があります。
- DATATAGINSC IN (integer-constant, ...)
- この条件では、アクティビティーが影響を与える表スペースに対して指定されるデータ・タグ値を 1 つ以上定義します。
表スペース (または該当する場合にはその基礎となるストレージ・グループ) のデータ・タグは、設定しないか、または 1 から 9 までの値に設定できます。アクティビティーが影響を与える表スペースにはデータ・タグが (表スペース・レベルとストレージ・グループ・レベルのいずれでも) 設定されていない場合、このしきい値はそのアクティビティーには影響を及ぼしません。
この条件の定義ドメインはサービス・サブクラス (UNDER 節を指定する SERVICE CLASS) でなければならず、強制の有効範囲は DATABASE PARTITION にする必要があります (SQLSTATE 5U037)。この条件は、各データベース・パーティションで
個別に強制されます。
この条件では、以下のアクティビティーが追跡されます。
- データ操作言語 (DML) タイプのコーディネーター・アクティビティー。
- ユーザー・ロジックから直接呼び出されるネストされた DML アクティビティー。
データベース・マネージャー (ユーティリティー、プロシージャー、内部 SQL など) によって開始される DML アクティビティーは、この条件では追跡されません。
このしきい値は、スキャンが表でオープンされるとき、または表に対して挿入が実行されるときにのみ検査されます。 スキャンがオープンされた後に表からデータをフェッチしても、しきい値に違反しません。
- DATATAGINSC NOT IN (integer-constant, ...)
- この条件では、アクティビティーが影響を与える表スペースに対して指定されないデータ・タグ値を 1 つ以上定義します。
表スペース (または該当する場合にはその基礎となるストレージ・グループ) のデータ・タグは、設定しないか、または 1 から 9 までの値に設定できます。アクティビティーが影響を与える表スペースにはデータ・タグが (表スペース・レベルとストレージ・グループ・レベルのいずれでも) 設定されていない場合、このしきい値はそのアクティビティーには影響を及ぼしません。
この条件の定義ドメインはサービス・サブクラス (UNDER 節を指定する SERVICE CLASS) でなければならず、強制の有効範囲は DATABASE PARTITION にする必要があります (SQLSTATE 5U037)。この条件は、各データベース・パーティションで
個別に強制されます。
この条件では、以下のアクティビティーが追跡されます。
- データ操作言語 (DML) タイプのコーディネーター・アクティビティー。
- ユーザー・ロジックから直接呼び出されるネストされた DML アクティビティー。
データベース・マネージャー (ユーティリティー、プロシージャー、内部 SQL など) によって開始される DML アクティビティーは、この条件では追跡されません。
このしきい値は、スキャンが表でオープンされるとき、または表に対して挿入が実行されるときにのみ検査されます。 スキャンがオープンされた後に表からデータをフェッチしても、しきい値に違反しません。
- alter-threshold-exceeded-actions
- 条件を超過したときに実行するアクションを指定します。条件を超過するたびに、
アクティブなしきい値違反イベント・モニターのすべてでイベントが記録されます。
- COLLECT ACTIVITY DATA
- しきい値を超過した各アクティビティーに関するデータを、アクティビティー完了時に任意のアクティブなアクティビティー・イベント・モニターに送信するように指定します。
COLLECT ACTIVITY DATA 設定は、CONNECTIONIDLETIME、TOTALDBPARTITIONCONNECTIONS、
TOTALSCPARTITIONCONNECTIONS、
CONCURRENTWORKLOADOCCURRENCES 、または UOWTOTALTIME のような非アクティビティーしきい値には適用されません。- alter-collect-activity-data-clause
- ON COORDINATOR MEMBER
- アクティビティーのコーディネーター・メンバーでのみ、アクティビティー・データを収集することを指定します。
- ON ALL MEMBERS
- アクティビティーが処理されるすべての メンバー でアクティビティー・データを収集することを指定します。リモート・メンバーでは、アクティビティーがそれらのメンバーで発生および終了するときに、アクティビティーの 1 レコードが複数回キャプチャーされる場合があります。 予測しきい値の場合、しきい値を超過した場合の CONTINUE アクションも指定した場合にのみ、アクティビティー情報がすべてのメンバーで収集されます。 反応しきい値の場合、ON ALL MEMBERS 節を指定しても効果はなく、アクティビティー情報は常にコーディネーター メンバー でのみ収集されます。 予測しきい値および反応しきい値の両方について、 入力データ値、セクション情報、または値は、コーディネーター・メンバーでのみ収集されます。
- WITHOUT DETAILS
- この作業アクションが定義されている作業クラスに関連する各アクティビティーについてのデータを、アクティビティーの実行完了時に、任意のアクティブなアクティビティー・イベント・モニターに送信するように指定します。 ステートメント、コンパイル環境、 およびセクション環境のデータに関する詳細は送信されません。
- WITH
- DETAILS
- 任意のアクティブなアクティビティーにステートメントおよびコンパイル環境のデータが含まれる場合、 それを該当するアクティビティーのイベント・モニターへ送信すること を指定します。セクションの環境データは送信されません。
- SECTION
- ステートメント、コンパイル環境、セクション環境データ、セクション actuals を、それらが含まれるアクティビティー用のアクティブなアクティビティー・イベント・モニターに送信することを指定します。DETAILS は SECTION が指定されている場合、 指定する必要があります。予測しきい値の場合、セクション actuals は、アクティビティー・データが収集されるすべてのメンバーで収集されます。 反応しきい値の場合、セクション actuals はコーディネーター・メンバーでのみ収集されます。
- AND VALUES
- 任意のアクティブなアクティビティーに入力データ値が含まれている場合、 それを該当するアクティビティーのイベント・モニターに送信することを指定します。このデータには、REOPT ALWAYS BIND オプションを使用してコンパイルされた SQL ステートメントは含まれません。
- NONE
- しきい値を超過する各アクティビティーについて、アクティビティー・データを収集しないことを指定します。
- STOP EXECUTION
- アクティビティーの実行を停止し、エラーを戻します (SQLSTATE 5U026)。UOWTOTALTIME しきい値の場合、作業単位はロールバックされます。
- CONTINUE
- アクティビティーの実行を停止しません。条件にキューも含まれている場合にこのオプションを指定すると、キューイングがキューのサイズを超えて拡張します。
- FORCE APPLICATION
- アプリケーションは強制的にシステムから切断されます (SQLSTATE 55032)。このアクションは、UOWTOTALTIME しきい値に対してのみ指定できます。
- remap-activity-action
-
- REMAP ACTIVITY TO service-subclass-name
- アクティビティーは service-subclass-name にマップされます。アクティビティーの実行を停止しません。このアクションは、CPUTIMEINSC しきい値、SQLROWSREADINSC しきい値、DATATAGINSC IN しきい値、および DATATAGINSC NOT IN しきい値などの in-service-class しきい値でのみ有効です (SQLSTATE 5U037)。 service-subclass-name は、このしきい値に関連付けられている同じスーパークラスの下にある既存のサービス・サブクラスを識別する必要があります (SQLSTATE 5U037)。service-subclass-name を、このしきい値に関連付けられているサービス・サブクラスと同じにすることはできません (SQLSTATE 5U037)。
- NO EVENT MONITOR RECORD
- しきい値違反レコードを書き込まないように指定します。
- LOG EVENT MONITOR RECORD
- THRESHOLD VIOLATIONS イベント・モニターが存在し、アクティブになっている場合には、しきい値違反レコードをそこに書き込むように指定します。
- ENABLE または DISABLE
- データベース・マネージャーでしきい値を使用可能にするかどうかを指定します。
- ENABLE
- データベース・アクティビティーの実行を制限するために、データベース・マネージャーでしきい値を使用します。現在実行中のデータベース・アクティビティーは、このしきい値の制限に関係なく、引き続き実行されます。
- DISABLE
- データベース・アクティビティーの実行を制限するためにデータベース・マネージャーでしきい値を使用しません。新しいデータベース・アクティビティーはこのしきい値による制限を受けません。TOTALSCMEMBERCONNECTIONS や CONCURRENTDBCOORDACTIVITIES などのキューで使用されるしきい値は、無効にしてからドロップする必要があります。
注
- データベース動作のさまざまな側面にしきい値を定義して、その動作のモニターおよび制御を行うことができます。特に明記がない限り、アクティビティーにしきい値を定義すると、SQL ステートメントの実際の実行時 (コンパイル時を除く) およびロード・ユーティリティーの実行時にのみ、そのしきい値は適用されます。
- CONCURRENTWORKLOADOCCURRENCES しきい値と CONCURRENTWORKLOADACTIVITIES しきい値とでは、有効範囲が異なります。CONCURRENTWORKLOADOCCURRENCES は 1 つのワークロード定義に同時にマップできる接続の数を制御し、CONCURRENTWORKLOADACTIVITIES はワークロード定義にマップされた接続ごとに同時に実行できるアクティビティーの数を制御します。
- 変更はシステム・カタログに書き込まれますが、COMMIT ステートメントが実行されるまで有効になりません。 これは、ステートメントを発行する接続の場合でも当てはまります。
- 全パーティションを通じて、同時に実行できる非コミットの WLM 排他 SQL ステートメントは 1 つのみです。 非コミットの WLM 排他 SQL ステートメントが実行されている場合、後続の WLM 排他 SQL ステートメントは、現行の WLM 排他 SQL ステートメントがコミットまたはロールバックされるまで待機します。
- しきい値に新しく指定された値は、操作がコミットされた後に実行が開始されたデータベース・アクティビティーに対してのみ影響を及ぼします。
例
ALTER THRESHOLD MAXBIGQUERIESCONCURRENCY
WHEN CONCURRENTDBCOORDACTIVITIES > 3
STOP EXECUTIONこれはキューを伴うしきい値であるため、このしきい値は、次のように無効にしてからでなければドロップできません。 ALTER THRESHOLD MAXBIGQUERIESCONCURRENCY DISABLE