ヘッダーをスキップ
Oracle® Warehouse Builderデータ・モデリング、ETLおよびデータ・クオリティ・ガイド
11gリリース2 (11.2)
B61350-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

20 データ監査およびデータ・ルールによる品質の監視

この章では、データ監査を使用したデータ品質の監視について説明します。

この章の内容は次のとおりです。

データ監査の概要

データ監査とは、データを一連のデータ・ルールと比較検証して準拠レコードと非準拠レコードを判別するプロセスです。データ監査では、監査データに対してエラーがいくつ発生しているかを監査し、マークすることで、システム内のデータがどの程度ルールに準拠しているかを示す統計メトリックを収集します。データ監査により、定義されたデータ・ルールにデータが準拠していることを確認し、ビジネス・ルールに対する準拠性を追跡できます。

データ監査は、ビジネス要件に合ったデータ品質レベルを継続して確保するための重要なツールです。また、異常なデータの急激な増加を判断することで、特定のイベントをその急増に結び付け、新しいデータ・ソースの追加、システムに影響するデータ・ソースまたはアプリケーションへの変更など、可能性のある根本原因を特定できます。

Oracle Warehouse Builderを使用してデータを監視するには、最初に「データ・プロファイリングの実行」の説明に従ってデータ・ルールを検出または設計する必要があります。その後、データ監査を定義してスケジューリングするか、より大きなプロセス・フローにデータ監査を組み込みます。

データ監査は必要に応じて随時デプロイおよび実行できます。ただし、通常は、データ・ウェアハウスやERPシステムなどの運用環境においてデータの品質を監視するため、データ・ロードなどの更新後即時に、または定期的な間隔で、プロセス・フローの一部として監査の実行がスケジューリングされます。

データ監査のしきい値 

データ監査には、ロジックを作成できるしきい値があります。その理由は、ルールに準拠しないレコードが大量に発生すると、プロセス・フローが正常に進行せず、エラーまたは通知ストリームが発生する可能性があるためです。しきい値は、データ監査によって監査するデータ・ルールごとに指定できます。この値を使用して、定義した制限内にデータ・オブジェクトのデータが収まっているかどうかを判断できます。プロセスでは、このしきい値に基づいてアクションを選択できます。プロセス・フローでは、結果に基づき、この値およびブランチをテストできます。

たとえば、Employees表のデータを監査するデータ監査を作成するとします。この表には、emp_email_unique_ruleemp_sal_min_ruleという2つのデータ・ルールが含まれます。これら両方のルールに対してしきい値として80%を指定します。つまり、Employees表の80%未満のデータがデータ・ルールに準拠しない場合、この表の監査は失敗します。


関連項目:

しきい値の指定の詳細は、「定義済のデータ・ルールに違反するデータに対するアクションの指定」を参照してください。

データ監査の監査結果 

ルールに準拠しないレコードにしきい値を設定する以外にも、監査結果を取得し、分析を目的としてこれらを格納できます。データ監査を実行すると、複数の出力値が設定されます。これらの値の1つが監査結果です。監査結果により、データ監査の実行時に発生するデータ・ルール違反の範囲に関する情報が提供されます。

データ監査を使用したデータ品質の監視

データ監査はオブジェクトであり、ソース・スキーマを継続的にモニターしてデータが定義済のデータ・ルールに準拠していることを確認するために使用できます。モニターできるのは、データ・ルールが定義されているオブジェクトのみです。

データ監査では複数のデータ・オブジェクトのデータ品質を監視できます。表、ビュー、マテリアライズド・ビューおよび外部表のデータ監査を作成できます。


関連項目:

データ監査の詳細は、「データ監査の概要」を参照してください。

データ品質を監視するには、次の手順を実行します。

  1. 監視するデータ・オブジェクトを含むデータ監査を作成します。

    「データ監査の作成」を参照してください。

  2. (オプション)データ監査を構成して、データ監査の物理的なデプロイメント・パラメータを設定します。データ監査を実行するときはこれらのパラメータを使用します。

    「データ監査の構成」を参照してください。

  3. データ監査をデプロイし、データ監査をターゲット・スキーマで作成します。

    「オブジェクトのデプロイ」を参照してください。

  4. データ監査を実行して、データ・オブジェクトで定義しているデータ・ルールに準拠していないレコードを識別します。データ監査を手動で実行するか、指定した時間に実行するようにスケジューリングできます。

    データ監査の実行の詳細は、「データ監査を使用したデータ・オブジェクトの監査」を参照してください。

  5. データ監査の一部であるオブジェクトの定義されたデータ・ルールに準拠しないと判定されたレコードを表示します。

    「データ監査エラー表の表示」を参照してください。


注意:

データ監査用のメタデータは、マージ・モードではインポートできません。インポート・モード・オプションの詳細は、『Oracle Warehouse Builderインストレーションおよび管理ガイド』を参照してください。

データ監査の作成

データ監査の作成ウィザードを使用して、データ監査を作成します。データ監査はプロジェクトのOracleモジュールの一部です。

データ監査を作成する手順は、次のとおりです。

  1. データ監査を作成するOracleモジュールを展開します。

  2. 「データ監査」を右クリックして、新規データ・プロファイルを選択します。

    データ監査の作成ウィザードが表示されます。

  3. 名前と説明ページで、次の詳細を入力し、「次へ」をクリックします。

    • 名前: データ監査の名前を入力します。

    • 説明: データ監査の説明(オプション)を入力します。

  4. オブジェクトの選択ページで、監査するデータ・オブジェクトを選択して「次へ」をクリックします。

    「使用可能」セクションには、監査可能なオブジェクトのリストが表示されます。「選択済」セクションには、監査用に選択されたオブジェクトが表示されます。ボタンを使用して、オブジェクトを「選択済」セクションに移動します。複数のオブジェクトを選択するには、オブジェクトの選択時に[Ctrl]キーを押したままにします。

  5. アクションの選択ページで、選択したオブジェクトにバインドされているデータ・ルールに準拠していないレコードに対して実行されるアクションを指定します。「次へ」をクリックします。

    「定義済のデータ・ルールに違反するデータに対するアクションの指定」を参照してください。

  6. サマリー・ページで、選択項目を確認します。「戻る」をクリックして選択した値を変更するか、または「終了」をクリックしてデータ監査を作成します。

新しいデータ監査は、「データ監査」ノードに追加されます。この時点で、データ監査のメタデータのみがワークスペースに格納されます。このデータ監査を使用してデータ・オブジェクトのデータの品質を監視するには、「データ監査を使用したデータ・オブジェクトの監査」の説明に従ってデータ監査を実行する必要があります。

定義済のデータ・ルールに違反するデータに対するアクションの指定

データ監査の作成ウィザードのアクションの選択ページまたは「データ監査の編集」ダイアログ・ボックスの「アクションの選択」タブを使用して、データ・オブジェクトで定義されているデータ・ルールに違反するレコードの処理方法を指定します。また、データに対して許容する非コンプライアンスのレベルを指定できます。

このページには、「エラーしきい値モード」と「データ・ルール」という2つのセクションが含まれます。

エラーしきい値モード

エラーしきい値モードを使用して、データ・ルールに対するデータの準拠を判断する方法を指定します。

次の方法から1つ選択します。

  • パーセント: データ監査により、データ・ルールに準拠しないレコードの割合に基づいて監査結果が設定されます。この割合は、ルールの欠陥しきい値に指定されます。

  • シックスシグマ: データ監査により、データ・ルールに対するシックスシグマ値に基づいて監査結果が設定されます。いずれかのルールに対して計算されたシックスシグマ値が、指定されたシグマしきい値より小さい場合は、データ監査により、AUDIT RESULTが2に設定されます。

データ・ルール

「データ・ルール」セクションには、オブジェクトの選択ページで選択したオブジェクトに適用したデータ・ルールがリストされています。各ルールに対して次を指定します。

  • アクション: ソース・オブジェクトのデータがデータ・ルールに準拠しない場合に実行されるアクション。データ・ルールが監査されるようにするには、「レポート」を選択します。データ・ルールが無視されるようにするには、「無視」を選択します。

  • 欠陥しきい値: 監査が確実に実行されるために、データ・ルールに準拠する必要があるレコードの割合。1から100の間の値を指定します。「エラーしきい値モード」セクションで「シックスシグマ」を選択している場合、この値は無視されます。

  • シグマしきい値: 必要な一致率。0から7の間の値を指定します。7に設定している場合、失敗は許容されません。「エラーしきい値モード」セクションで「パーセント」を選択している場合、この値は無視されます。

データ監査の編集

データ監査を作成した後、次の手順でデータ監査を編集し、そのプロパティを変更できます。

  1. プロジェクト・ナビゲータで、データ監査を右クリックして「開く」を選択します。

    「データ監査の編集」ダイアログ・ボックスが表示されます。

  2. 「名前」タブで、データ監査の新しい名前と説明を入力します。

  3. 「オブジェクトの選択」タブで、ボタンを使用してデータ監査の一部として監査するオブジェクトを追加または削除します。

  4. 「アクションの選択」タブで、指定したデータ修正アクションを編集します。

    「定義済のデータ・ルールに違反するデータに対するアクションの指定」を参照してください。

  5. 「オブジェクトの調整」タブで、オブジェクトの左側にあるチェック・ボックスを選択し、最新のリポジトリ定義を使用してその定義を調整します。「調整」をクリックします。

  6. 「OK」をクリックし、「データ監査の編集」ダイアログ・ボックスを閉じます。

データ監査の構成

構成フェーズ中に構成パラメータを設定して、作成したデータ監査に物理的なデプロイメント・プロパティを割り当てます。データ監査の「構成」タブでは、データ監査の物理プロパティを構成できます。

データ監査を構成する手順は、次のとおりです。

  1. プロジェクト・ナビゲータで、「データベース」ノード、続いて「Oracle」ノードを開きます。

  2. 構成するデータ監査の名前を右クリックして「構成」を選択します。

    データ監査の「構成」タブが表示されます。

  3. 要件に基づいて、「ランタイム・パラメータ」データ監査パラメータおよび「コード生成オプション」にリストされているパラメータを構成します。

ランタイム・パラメータ

表20-1に、ランタイム構成パラメータを示します。

表20-1 データ監査用のランタイム構成パラメータ

構成パラメータ名 説明

デフォルト・パージ・グループ

パッケージの実行時に使用されます。ランタイム・スキーマ内の各監査レコードは、指定したパージ・グループに割り当てられます。

バルク・サイズ

カーソルの処理中にバッチとしてフェッチされる行数。

表分析のサンプリング率

ターゲット表の分析時にサンプリングされる行の割合。ターゲット表を分析して、ターゲット表にデータをロードする間のパフォーマンス向上に使用できる統計を収集します。

コミット頻度

コミットの発行前に処理される行数。

エラーの最大数

このステップの実行が終了するまでに許容されるエラーの最大数。

デフォルト・オペレーティング・モード

使用するオペレーティング・モードを表す

選択できるオプションは、「行ベース」、「行ベース(ターゲットのみ)」、「セット・ベース」、「セット・ベースから行ベースへのフェイルオーバー」、「セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー」です。

デフォルト監査レベル

パッケージの実行時に使用する監査レベルを指定します。パッケージの実行時にランタイム・スキーマ内で取得される監査情報の量は、このパラメータの設定値に応じて異なります。

選択できるオプションは、次のとおりです。

  • ERROR DETAILS: 実行時には、エラー情報と統計監査情報が記録されます。

  • COMPLETE: 実行時にはすべての監査情報が記録されます。この設定では大量の診断データが生成され、割当済表領域がすぐにいっぱいになってしまう可能性があります。

  • NONE: 実行時に監査情報は記録されません。

  • STATISTICS: 実行時には統計監査情報が記録されます。


データ監査パラメータ

このカテゴリにはデータ監査と同じ名前が使用されます。表20-2では、汎用的なデータ監査構成パラメータについて説明します。

表20-2 データ監査用のデータ監査構成パラメータ

構成パラメータ名 説明

生成コメント

生成されたコードに関するコメントを追加指定します。

しきい値モード

失敗のしきい値の測定に必要なモードを指定します。オプションは「PERCENTAGE」と「SIX SIGMA」です。

言語

生成済コードの定義に使用する言語。オプションは、「PL/SQL」(デフォルト)と「UNDEFINED」です。「PL/SQL」(デフォルト)が選択されていることを確認してください。

デプロイ可能

このデータ監査をデプロイすることを示すには、このオプションを選択します。Oracle Warehouse Builderでコードが生成されるのは、データ監査がデプロイ可能としてマークされている場合のみです。

参照カレンダ

データ監査に関連付けるスケジュールを指定します。スケジュールでは、データ監査の実行時期を定義します。


コード生成オプション

表20-3にデータ監査に設定できるコード生成オプションを示します。

表20-3 データ監査用のコード生成オプション

構成パラメータ名 説明

ANSI SQL構文

生成されたコードでANSI SQLコードを使用するには、このオプションを選択します。このオプションを選択しなければ、Oracle SQL構文が生成されます。

コミット制御

コミットの実行方法を指定します。このパラメータに使用可能なオプションは、「自動」、「自動相関」および「手動」です。このパラメータが「自動」に設定されていることを確認してください。

パラレルDMLの有効化

実行時にパラレルDMLを有効化するには、このオプションを選択します。

表分析文

データ監査用の統計収集に使用する文を生成するには、このオプションを「True」に設定します。ターゲット表がマッピングと同じスキーマにない場合に、その表を分析するには、マッピングを所有するスキーマにANALYZE ANYを付与する必要があります。

最適化コード

最適化コードの生成を指定するには、このオプションを選択します。

生成モード

最適化コードを生成する際のモードを選択します。選択できるオプションは、「すべてのオペレーティング・モード」、「行ベース」、「行ベース(ターゲットのみ)」、「セット・ベース」、「セット・ベースから行ベースへのフェイルオーバー」および「セット・ベースから行ベース(ターゲットのみ)へのフェイルオーバー」です。

ターゲット・ロード順序付けを使用

ターゲット・ロード順序付け用のコードを生成するには、このオプションを選択します。

エラー・トリガー

エラー・トリガー・プロシージャの名前を指定します。

バルク処理コード

バルク処理コードを生成するには、このオプションを選択します。


データ監査を使用したデータ・オブジェクトの監査

データ監査の作成後に、データ・オブジェクト内のデータのモニターに使用できます。これにより、オブジェクトのデータ・ルール違反が確実に検出されます。データ監査を実行すると、データ・オブジェクトについて定義済のデータ・ルールに違反しているレコードがエラー表に書き込まれます。

データ監査には2つの使用方法があります。

手動によるデータ監査の実行

データ・オブジェクト内のデータがそのオブジェクトに対して定義済のデータ・ルールに準拠しているかどうかをチェックするには、データ監査を実行する必要があります。データ監査は、デザイン・センターまたはコントロール・センター・マネージャから実行できます。データ監査をデザイン・センターから実行するには、データ監査を右クリックして「開始」を選択します。コントロール・センター・マネージャの場合は、データ監査を選択し、「ファイル」メニューから「開始」を選択します。結果は、「データ監査の実行結果」で説明したように「ジョブ詳細」ウィンドウに表示されます。

データ監査実行のスケジューリング

データ監査の実行をスケジュールする手順は、次のとおりです。

  1. データ監査を表すデータ監査モニター・アクティビティを含むプロセス・フローを作成します。

  2. このプロセス・フローを事前定義済の時刻に実行するようにスケジュールします。

    オブジェクトのスケジューリングの詳細は、「スケジュールの定義」を参照してください。

図20-1は、データ監査モニター・アクティビティを含むプロセス・フローを示しています。このプロセス・フローでは、LOAD_EMP_MAPEMP表にデータをロードするマッピングです。データ・ロードに成功すると、データ監査EMP_DATA_AUDITが実行されます。データ監査では、表に対して定義されたデータ・ルールに基づいてEMP表のデータがモニターされます。

図20-1 プロセス・フローにおけるデータ監査モニター・アクティビティ

図20-1の説明が続きます。
「図20-1 プロセス・フローにおけるデータ監査モニター・アクティビティ」の説明

データ監査の実行結果

データ監査の実行後、「ジョブ詳細」ウィンドウに実行詳細が表示されます。「ジョブ詳細」ウィンドウには、「入力パラメータ」および「実行結果」という2つのタブがあります。「ジョブの詳細」ウィンドウが表示されるのは、デプロイメント・プリファレンスの「モニターの表示」を「True」に設定している場合のみです。


関連項目:

デプロイメント・プリファレンスの詳細は、『Oracle Warehouse Builder概要』を参照してください。

図20-2に、「入力パラメータ」タブおよび「実行結果」タブを含む「ジョブの詳細」ウィンドウを示します。

図20-2 データ監査の実行結果

図20-2の説明が続きます。
「図20-2 データ監査の実行結果」の説明

「入力パラメータ」タブ 

「入力パラメータ」タブには、データ監査の実行に使用された入力パラメータの値が表示されます。

「実行結果」タブ 

「実行結果」タブには、データ監査の実行結果が表示されます。このタブには「行アクティビティ」セクションと「出力パラメータ」セクションがあります。

「行アクティビティ」セクションには、各ステップにおけるエラー表への挿入の詳細が表示されます。複数のデータ・ルールを指定した場合、データ監査に複数表挿入が使用されます。この場合は、行数のカウントが不正確になります。

たとえば、図20-2のデータ監査実行の結果では、E_NOT_NULLというデータ・ルールによってエラー表に1つのレコードが挿入されています。

「出力パラメータ」セクションには、次の3つのパラメータがあります。

  • AUDIT_RESULT: データ監査の実行結果を示します。このパラメータに可能な値は次のとおりです。

    • 0: データ・ルール違反は発生しませんでした。

    • 1: データ・ルール違反が1つ以上発生しましたが、データ監査で定義された最低品質のしきい値を満たせないデータ・ルールはありませんでした。

    • 2: 1つ以上のデータ・ルールが最低品質のしきい値を満たせませんでした。

    しきい値の設定の詳細は、「データ監査の作成」でアクションを選択する手順を参照してください。

  • EO_<データ・ルール名>: 指定したデータ・ルールについて計算されたエラー品質を表します。0はすべてのエラー、100はエラーなしを示します。

  • SO_<データ・ルール名>: 指定したデータ・ルールについて計算されたシックスシグマ品質を表します。

データ監査エラー表の表示

データ監査を、手動で実行するか、またはプロセス・フローの一部として実行する場合、Oracle Warehouse Builderではデータ監査に含まれるオブジェクトに定義されたデータ・ルールに準拠しないレコードをエラー表に書き込みます。データ監査に含まれるオブジェクトごとに準拠しないレコードを格納する、オブジェクトに対応したエラー表があります。

リポジトリ・ブラウザを使用すると、エラー表に書き込まれた準拠しないレコードがすべて表示されます。

データ監査の実行によって作成されたエラー表を表示するには、次の手順を実行します。

  1. 「エラー表の権限の付与」の説明に従って、エラー表の権限を付与します。

  2. リポジトリ・ブラウザを使用して、エラー表を表示します。次のステップを実行します。

    1. 「リポジトリ・ブラウザを開く」に示すようにリポジトリ・ブラウザを開きます。

    2. 「データ監査の実行結果として作成されたエラー表の表示」に示すように、リポジトリ・ブラウザを使用してエラー表を表示します。

エラー表に対する権限の付与

リポジトリ・ブラウザを使用して、エラー表に格納されているデータを表示する前に、エラー表の権限をOWBSYSユーザーに付与する必要があります。これにより、リポジトリ・ブラウザでエラー表データにアクセスできるようになります。

エラー表の権限を付与する手順は、次のとおりです。

  1. SQL*Plusで、エラー表が含まれるスキーマにログインします。

    オブジェクトのエラー表はオブジェクトと同じスキーマに格納されています。

  2. SQLスクリプトOWB_HOME\owb\rtp\sql\grant_error_table_privileges.sqlを実行します。

  3. プロンプトが表示された場合、権限を付与するエラー表の名前を入力します。

    「エラー表名」プロパティを使用してオブジェクトのエラー表の名前を指定しなかった場合、デフォルト名が表示されます。エラー表を使用するオブジェクトの場合、デフォルトのエラー表名は、「_ERR」という接頭辞が付いたオブジェクト名です。

  4. 権限を付与する各エラー表に対し手順2から3を繰り返します。