78 DBMS_HM

この章では、ヘルス・チェック管理のための定数およびプロシージャ宣言について説明します。状態モニターは、DBMS_HMパッケージを介してチェック・ストアの実行およびレポートの取得を行う機能を提供します。

この章のトピックは、次のとおりです:

参照:

状態モニターの詳細は、『Oracle Database管理者ガイド』を参照してください。

78.1 DBMS_HMのセキュリティ・モデル

ユーザーがDBMS_HMパッケージのプロシージャを実行するには、EXECUTE権限が必要です。

78.2 DBMS_HMサブプログラムの要約

この表は、DBMS_CONNECTION_POOLサブプログラムを示し、簡単に説明しています。

表78-1 DBMS_HMパッケージのサブプログラム

サブプログラム 説明

GET_RUN_REPORTファンクション

指定したチェッカの実行に関するレポートを戻します。

RUN_CHECKプロシージャ

指定したチェッカを特定の引数を指定して実行します。

78.2.1 GET_RUN_REPORTファンクション

このファンクションは、指定したチェッカの実行に関するレポートを戻します。

構文

DBMS_HM.GET_RUN_REPORT (
    run_name      IN  VARCHAR2,
    type           IN  VARCHAR2 := 'TEXT',
    level          IN  VARCHAR2 := 'BASIC',) 
  RETURN CLOB;

パラメータ

表78-2 GET_RUN_REPORTファンクションのパラメータ

パラメータ 説明

run_name

チェックの実行名。

type

レポート形式タイプ。設定可能な値は、'HTML''XML'および'TEXT'です。デフォルトのレポート・タイプは'TEXT'です。

level

レポートの詳細で、設定可能な値は、'BASIC'および'DETAIL'です。注意: 現在は、'BASIC'レベルのみがサポートされています。

78.2.2 RUN_CHECKプロシージャ

このプロシージャは、指定したチェッカを特定の引数を指定して実行します。

実行名、必要な入力および実行タイムアウトの最大値を指定できます。実行レポートはデータベースに永続的に保持されます。

構文

DBMS_HM.RUN_CHECK (
   check_name     IN  VARCHAR2,
   run_name       IN  VARCHAR2 := NULL,
   timeout        IN  NUMBER := NULL,
   input_params   IN  VARCHAR2 := NULL);

パラメータ

表78-3 RUN_CHECKプロシージャのパラメータ

パラメータ 説明

check_name

起動するチェックの名前。チェックの名前およびそれらのパラメータは、V$HM_CHECKビューおよびV$HM_CHECK_PARAMビューからアクセスできます。ユーザーは、本来内部チェックではないすべてのチェックを実行でき、SELECT name FROM V$HM_CHECK WHERE INTERNAL_CHECK = 'N'を実行すると、ユーザーが手動で実行できるチェックのリストが取得されます。

run_name

外部ユーザーがこのチェックの実行を一意に識別できる名前。NULL値が渡された場合は、HMによって一意な名前が作成され、このチェックの実行に関連付けられます。

timeout

このチェッカを実行できる最大許容時間(秒)。指定した実行時間が経過すると、HMによって実行が中断されます。NULL値が渡された場合は、HMによって実行に対するタイムアウトの制限は設定されません。

input_params

入力文字列。特殊文字;で区切られた名前と値のペアで構成されます。

たとえば、データ・ブロックの整合性チェックの起動には、次のタイプの入力パラメータを使用できます。

'BLC_DF_NUM=1;BLC_BL_NUM=23456'

入力パラメータBLC_DF_NUMおよびBLC_BL_NUMの値は、それぞれ1および23456です。

すべてのチェックには、そのチェックに関連付けられている明確に定義された入力セットがあります。これらの入力パラメータ、そのタイプ、デフォルト値および説明は、V$HM_CHECK_PARAMビューを使用して取得できます。

たとえば、次の問合せを実行すると、データ・ブロックの整合性チェックのパラメータ、それらのデフォルト値および説明のリストが取得されます。

SELECT a.* FROM v$hm_check_param a, v$hm_check b
WHERE a.check_id = b.id
AND b.name = 'Data Block Integrity Check';