UPDATE ALERT CONFIGURATION コマンド (ADMIN_CMD プロシージャーを使用)

UPDATE ALERT CONFIGURATION コマンドは、ヘルス・インディケーターのアラート構成設定を更新します。

重要: バージョン 9.7 でヘルス・モニターが非推奨になったため、このコマンドおよび API は推奨されておらず、将来のリリースで除去される可能性があります。これはDb2® pureScale®環境ではサポートされていません。 詳しくは、 ヘルス・モニターが推奨されなくなったを参照してください。

許可

以下の権限のいずれか。
  • SYSADM
  • SYSMAINT
  • SYSCTRL

必要な接続

データベース

コマンド構文

構文図を読む構文図をスキップするUPDATE ALERTCONFIGURATIONCONFIGCFGFORDATABASE MANAGERDB MANAGERDBMDATABASESCONTAINERSTABLESPACESDATABASETABLESPACEtblspace-nameCONTAINERcontainer-nameFORtblspace-nameONdatabase-aliasUSINGhealth-indicator-nameSET,parameter-namevalueUPDATE ACTION,SCRIPTpathnameTASKtask-nameONWARNINGALARMALLALERTATTENTIONstate,SETparameter-namevalueDELETE ACTION,SCRIPTpathnameTASKtask-nameONWARNINGALARMALLALERTATTENTIONstateADD ACTION,SCRIPTpathnameAdd Script DetailsTASKtask-nameONState and User Details
Add Script Details
構文図を読む構文図をスキップするTYPEDb2STATEMENT TERMINATION CHARACTERSTMT TERM CHARTERM CHARcharacterOPERATING SYSTEMOSCOMMAND LINE PARAMETERSPARMSparmsWORKING DIRECTORYpathname
State and User Details
構文図を読む構文図をスキップするWARNINGALARMALLALERTATTENTIONstateONhostnameUSERusernameUSINGpassword

コマンド・パラメーター

DATABASE MANAGER
データベース・マネージャーのアラート設定を更新します。
DATABASES
データベース・マネージャーによって管理されるすべてのデータベースのアラート設定を更新します。 これは、カスタム設定を持たないすべてのデータベースに適用される設定です。 カスタム設定は、DATABASE ON database-alias 節を使って定義されます。
CONTAINERS
データベース・マネージャーによって管理されるすべての表スペース・コンテナーのアラート設定を更新します。 これは、カスタム設定を持たないすべての表スペース・コンテナーに適用される設定です。 カスタム設定は、CONTAINER container-name ON database-alias 節を使って定義されます。
TABLESPACES
データベース・マネージャーによって管理されるすべての表スペースのアラート設定を更新します。 これは、カスタム設定を持たないすべての表スペースに適用される設定です。 カスタム設定は、TABLESPACE tblspace-name ON database-alias 節を使って定義されます。
DATABASE ON database-alias
ON database-alias 節を使って指定したデータベースのアラート設定を更新します。 このデータベースがカスタム設定を持つ場合、 インスタンスの全データベースの設定をオーバーライドします。 これは、DATABASES パラメーターを使って指定されます。
CONTAINER container-name FOR tblspace-name ON database-alias
ON database-alias 節を使って指定したデータベース上で、FOR tblspace-name 節を使って指定した表スペースの、container-name という名前の表スペース・コンテナーのアラート設定を更新します。 この表スペース・コンテナーがカスタム設定を持つ場合、データベースの全表スペース・コンテナーの設定をオーバーライドします。これは、CONTAINERS パラメーターを使って指定されます。
TABLESPACE tblspace-name ON database-alias
ON database-alias 節を使って指定したデータベース上で、name という名前の表スペースのアラート設定を更新します。 この表スペースがカスタム設定を持つ場合、データベースの全表スペースの設定をオーバーライドします。これは、TABLESPACES パラメーターを使って指定されます。
USING health-indicator-name
アラート構成が更新されるヘルス・インディケーターのセットを指定します。 ヘルス・インディケーター名は 2 文字のオブジェクト ID で構成され、 その後にインディケーターの測定対象を説明する名前が続きます。 以下に例を示します。
db.sort_privmem_util
SET parameter-name value
ヘルス・インディケーターのアラート構成エレメント parameter-name を、 指定した値に更新します。 parameter-name は以下の値のどれかになります。
  • ALARM: value はヘルス・インディケーター・ユニット。
  • WARNING: value はヘルス・インディケーター・ユニット。
  • SENSITIVITY: value は秒単位。
  • ACTIONSENABLED: valueYES または NO
  • THRESHOLDSCHECKED: valueYES または NO
特定の Db2 バージョンについて可能性のあるヘルス・インディケーター・ユニットのリストは、以下の照会を実行することにより収集できます。
SELECT SUBSTR(UNIT,1,80) AS UNIT 
   FROM TABLE(HEALTH_GET_IND_DEFINITION('')) AS T GROUP BY UNIT
UPDATE ACTION SCRIPT pathname ON [WARNING | ALARM | ALLALERT | ATTENTION state]
絶対パス名 pathname を持つ定義済みスクリプトのスクリプト属性が以下の節に従って更新されるように指定します。
SET parameter-name value
スクリプト属性 parameter-name を、指定した値に更新します。 parameter-name は以下の値のどれかになります。
  • SCRIPTTYPE

    有効なタイプは OS または DB2

  • WORKINGDIR
  • TERMCHAR
  • CMDLINEPARMS
    オペレーティング・システム・スクリプトに対して指定するコマンド行パラメーターが、デフォルトで指定されるパラメーターに先行します。 オペレーティング・システム・スクリプトに送られるパラメーターは、以下のとおりです。
    • ユーザーの指定するパラメーターのリスト
    • ヘルス・インディケーターの短縮名
    • 完全修飾オブジェクト名
    • ヘルス・インディケーターの値
    • アラート状態
  • USERID
  • PASSWORD
  • SYSTEM
UPDATE ACTION TASK task-name ON [WARNING | ALARM | ALLALERT | ATTENTION state]
名前 name を持つタスクのタスク属性が以下の節に従って更新されるように指定します。
SET parameter-name value
タスク属性 parameter-name を、指定した値に更新します。parameter-name は以下の値のどれかになります。
  • USERID
  • PASSWORD
  • SYSTEM
DELETE ACTION SCRIPT pathname ON [WARNING | ALARM | ALLALERT | ATTENTION state]
アラート・アクション・スクリプトから、 絶対パス名 pathname を持つアクション・スクリプトを除去します。
DELETE ACTION TASK task-name ON [WARNING | ALARM | ALLALERT | ATTENTION state]
アラート・アクション・タスクのリストから name という名前のアクション・タスクを除去します。
ADD ACTION SCRIPT pathname ON [WARNING | ALARM | ALLALERT | ATTENTION state]
絶対パス名 pathname を持つ新規アクション・スクリプトが追加されるように指定します。 その属性は、以下のように指定されます。
TYPE
アクション・スクリプトは、 Db2 コマンド・スクリプトか、オペレーティング・システム・スクリプトのいずれかでなければなりません。
  • Db2
  • OPERATING SYSTEM
Db2 コマンド・スクリプトの場合、以下の節を使用することにより、 オプションで文字 character を指定することができます。 この文字は、ステートメントを終了するのにスクリプト内で使用されます。
STATEMENT TERMINATION CHARACTER ;

オペレーティング・システム・スクリプトの場合、 以下の節を使用することにより、 オプションでコマンド行パラメーター parms を指定することができます。 これは、呼び出しの際にスクリプトに渡されます。 COMMAND LINE PARAMETERS parms

WORKING DIRECTORY pathname
スクリプトが実行されるディレクトリーの絶対パス名 pathname を指定します。
USER username USING password
スクリプトが実行される際のユーザー・アカウント username、 およびそれに関連したパスワード password を指定します。 ADD ACTION オプションを使用する場合、username および password が、(username および password が暗号化されずに送信される) ネットワーク、db2diag ログ・ファイル、トレース・ファイル、ダンプ・ファイル、スナップショット・モニター (動的 SQL スナップショット)、システム・モニター・スナップショット、いくつかのイベント・モニター (ステートメントやデッドロックなど)、Explain 表、db2pd 出力 (パッケージ・キャッシュやロック・タイムアウト・メカニズムなど)、および Db2 監査レコードに露出する可能性があります。
ADD ACTION TASK name ON [WARNING | ALARM | ALLALERT | ATTENTION state]
指定した条件を ON にして name という新規タスクを追加し、実行することを指定します。
ON [WARNING | ALARM | ALLALERT | ATTENTION state]
アクションまたはタスクが実行される条件を指定します。 しきい値ベースのヘルス・インディケーター (HI) の場合、これは WARNING または ALARM になります。 状態ベースの HI の場合、これは、各状態ベースの HI ごとに記されている数値状態 (例えば、ts.ts_op_status ヘルス・インディケーターの場合は、表スペース状態の tablespace_state モニター・エレメントを参照してください) か、この状態を表すテキストの ID となります。ALLALERTS は、しきい値ベースの HI と状態ベースの HI に関する状態の変更を処理します (例えば、警告から正常への状態変更)。
ATTENTION state
ADD ACTION SCRIPT CLP コマンド・オプションの例として、データベース・ヘルス・インディケーターのいくつかの状態に対応した有効な数値を以下のセクションにまとめます。
  • 0 - アクティブ、正常 (ACTIVE)
  • 1 - 静止ペンディング (QUIESCE_PEND)
  • 2 - 静止済み (QUIESCED)
  • 3 - ロールフォワード (ROLLFWD)

その他の状態ベースのヘルス・インディケーターは、ヘッダー・ファイル sqlmon.hsqlutil.h に定義されています。

ADMIN_CMD ストアード・プロシージャーにより呼び出される UPDATE ALERT CFG コマンドは、state において数値またはテキスト ID をサポートします。 表スペース操作状況のヘルス・インディケーター (ts.ts_op_status) の例として、ヘルス・インディケーターの一部の追加の状態の有効な数値およびテキスト ID は、次のようになります。
  • 0x1 - QUIESCED_SHARE
  • 0x2 - QUIESCED_UPDATE
  • 0x4 - QUIESCED_EXCLUSIVE
UPDATE ALERT CFG コマンドと 上記のヘルス・インディケーター値を使用して、以下のコマンド行を入力するとします。
ADD ACTION SCRIPT ... ON ATTENTION 2
これは、以下と同じ意味になります。
ADD ACTION SCRIPT ... ON ATTENTION QUIESCED_UPDATE
さらに、表スペース操作状況のヘルス・インディケーター (ts.ts_op_status) では、複数の状態を OR 操作することにより、単一の数値を使用して複数の状態を指定できます。 例えば、状態 7 (= 0x1 + 0x2 + 0x4) を指定すると、表スペースが、静止: SHARE、静止: UPDATE、または静止: EXCLUSIVE のいずれかの状態になったときにアクションが実行されます。その代わりに、3 つの別個の UPDATE ALERT CFG コマンド実行で、QUIESCED_SHARE、QUIESCED_UPDATE、および QUIESCED_EXCLUSIVE を指定することもできます。

ホスト名 'plato' のシステムでアラームがあった場合に、スクリプト /home/test/scripts/logfsutilact を実行するという、db.log_fs_util インディケーターのアクションを追加します。
CALL SYSPROC.ADMIN_CMD( 'update alert cfg for databases using 
   db.log_fs_util add action script /home/test/scripts/logfsutilact 
   type os command line parameters "param1 param2" working 
   directory /tmp on alarm on plato user dricard using mypasswdv' )
アラート構成が設定された後、それをチェックするには、以下のようにして HEALTH_GET_IND_DEFINITION および HEALTH_GET_ALERT_ACTION_CFG の表関数を使用することができます。
SELECT OBJECTTYPE, ID, CONDITION, ACTIONTYPE, 
   SUBSTR(ACTIONNAME,1,50) AS ACTION_NAME 
   FROM TABLE(SYSPROC.HEALTH_GET_ALERT_ACTION_CFG('DB','G','','')) 
   AS ALERT_ACTION_CFG
以下はこの照会の出力例です。
OBJECTTYPE ID     CONDITION  ACTIONTYPE ACTION_NAME
---------- ------ ---------- ---------- ----------------------------------
DB           1006 ALARM      S          /home/dricard/scripts/logfsutilact

   1 record(s) selected.

使用上の注意

ADD ACTION オプションでは、入力した username および password は、SQL ステートメント・テキストがキャプチャーされる以下のさまざまな場所で公開される場合があります。
  • ネットワーク (username と password は暗号化されずにワイヤーを経由して渡されます)
  • db2diag ログ・ファイル
  • トレース・ファイル
  • ダンプ・ファイル
  • スナップショット・モニター (動的 SQL スナップショット)
  • システム・モニター・スナップショット
  • いくつかのイベント・モニター (ステートメント、デッドロック)
  • Explain 表
  • db2pd 出力 (パッケージ・キャッシュおよびロック・タイムアウト機構など)
  • Db2 監査レコード

コマンドの実行状況は、CALL ステートメントからの結果である SQLCA で戻されます。

database-alias は、サーバー上のカタログの中で定義されていなければならず、サーバーに対してローカルなものでなければなりません。

pathname は、完全修飾サーバー・パス名を使用して指定する必要があります。