ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド
11gリリース2 (11.1.2.2)
B70199-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

D アーカイブおよびパージ手順の設定

この章では、SQLスクリプトを使用してOAAMデータベースのデータをアーカイブおよびパージする方法について説明します。

この項は、次の項目で構成されています。

D.1 概要

アーカイブおよびパージ・プロセスを利用すると、ルールの評価や不正の調査で不要になったデータを解放できます。

  • アーカイブは、メイン・トランザクション表のデータをアーカイブ表に移動するプロセスです。

  • パージは、データ増大の問題が原因で、システムで不要になった古いデータを表から削除するプロセスです。

    多くの表ではデータ増大の問題が発生しないため、すべての表がパージされるわけではありません。

図D-1 データ増大の問題がないためにパージされない表

図D-1の説明
「図D-1 データ増大の問題がないためにパージされない表」の説明

「データのパージ」と「データのバックアップ」は異なります。データのバックアップは、データの損失が発生した場合にデータをリカバリすることを目的としています。これに対し、パージは実行時の表に古いデータが存在しないようにすることを目的としています。いずれの場合も、データを保護するには、データベース管理者と協力してデータベースのバックアップを定期的に実行する必要があります。

アーカイブIDM_ORACLE_HOME/oaam/oaam_db_scripts/oaam_db_purging_scripts.zipに用意されているスクリプトを使用して、次のデータをアーカイブまたはパージできます。

  • ログインおよびデバイス・データ

  • ルール・ログ・データ

  • 自動学習データ

  • トランザクションおよびエンティティ・データ

  • プロファイル・データ

アーカイブおよびパージ基準は、レコードの作成/更新タイムスタンプに基づきます。これは、保存期間(日数)で指定します。

次に、アーカイブおよびパージ・プロセスの概要を示します。

  1. 保存期間(通常は180日、つまり6か月)を決定します。

  2. トランザクション機能を使用していて、トランザクション・タイプ別またはエンティティ別に異なる保存期間を指定する場合は、21.6項「トランザクション定義別のトランザクション・データのターゲット・パージ設定」および20.4項「エンティティ・データのターゲット・パージ設定」を参照してください。

  3. パージとアーカイブのどちらを行うかを指定します。

    図D-3 パージまたはアーカイブの判定

    図D-3の説明が続きます。
    「図D-3 パージまたはアーカイブの判定」の説明

  4. パージ関連のストアド・プロシージャをOAAMデータベースにデプロイします。これはワンタイム・ジョブです。

  5. どのタイプのデータをアーカイブやパージの対象とするかを指定します。

  6. 関連スクリプトを定期的に実行するようにスケジュールしたり、必要なときに手動で実行します。

  7. データベース表V_SYS_LOGSLOG_TYPE99であるエンティティを確認します。


注意:

ルールの検索対象のデータがパージされている場合、ルールの動作が異なることがあります。たとえば、6か月のデータを検索するルールがあり、9日以前のデータをパージする場合などです。

次のいくつかの項では、これらをさらに詳しく説明します。

D.2 データベースでのスクリプトの設定

OAAMデータのアーカイブやパージを行うには、ワンタイム・スクリプトを設定する必要があります。

D.2.1 非EBRスキーマ

非EBR (エディションベースの再定義)スキーマのOAAMデータベースをインストールしている場合に、スクリプトを設定するには、次の手順を実行します。

  1. スクリプト・ディレクトリoaam_purge_scriptを作成します。

  2. スクリプト・アーカイブIDM_ORACLE_HOME/oaam/oaam_db_scripts/oaam_db_purging_scripts.zipをスクリプト・ディレクトリに解凍します。

  3. sysまたはsysdbaアカウントを使用してデータベースにログインします。

  4. ストアド・プロシージャを作成して実行できるよう、OAAMスキーマに次の権限を付与します。

    GRANT create any procedure TO schema_name;
    GRANT create any table TO schema_name;
    GRANT create any index TO schema name;
    GRANT create procedure TO schema_name;
    GRANT execute any procedure TO schema_name;
    
  5. OAAMユーザー名およびパスワードを使用してOAAMスキーマに接続します。例:

    sqlplus oaam_db_user_name/oaam_db_password
    
  6. create_purge_proc.sqlスクリプトを実行します。

    SQL> @oracle_db/create_purge_proc.sql
    
  7. ストアド・プロシージャを検証して、エラーがなく有効であること確認します。

D.2.2 EBRスキーマ

エディションベースの再定義(EBR)を利用すると、使用中のOAAMデータベース・コンポーネントをそのままアップグレードして、ダウンタイムを最小限に抑えたり、なくすことができます。

EBRに対応したアーカイブおよびパージ・プロセスを設定するには、次の手順を実行します。

  1. sysまたはsysdbaアカウントを使用してデータベースにログインします。

  2. OAAMスキーマに次の権限を付与します。

    GRANT create any procedure TO SCHEMA_NAME
    GRANT create any table TO SCHEMA_NAME
    GRANT create any index TO SCHEMA_NAME
    GRANT create procedure TO SCHEMA_NAME
    GRANT create view TO SCHEMA_NAME
    GRANT execute any procedure TO SCHEMA_NAME
    ALTER user SCHEMA_NAME enable editions
    GRANT use on EDITION ORA$BASE to SCHEMA_NAME
    Exit
    
  3. OAAMデータベース・ユーザー名およびパスワードを使用してOAAMスキーマにログインします。

    例:

    sqlplus oaam_db_user_name/oaam_db_password
    
  4. schema_nameユーザーとしてログインし、create_purge_proc.sqlスクリプトを実行します。

    @ oracle_db/oracle_ebr/create_purge_proc.sql EDITION_VERSION
    

    例:

    @ /oracle_db/oracle_ebr/create_purge_proc.sql ORA$BASE
    
  5. ストアド・プロシージャを検証して、エラーがなく有効であること確認します。

D.3 アーカイブ・スクリプトおよびパージ・スクリプトの実行

アーカイブ・スクリプトやパージ・スクリプトを実行するには、次の手順を実行します。

  1. スクリプトの実行時にテキスト・エディタを使用して、p_days1パラメータとp_archivedパラメータを設定します。どのスクリプトにも、これらの2つのパラメータを設定できます。表D-1に、これらのパラメータの説明を示します。

    表D-1 アーカイブとパージのルーチン・パラメータ

    変数名 デフォルト値 説明

    p_days1

    180

    保存期間(日数)です。この日数を経過したデータがアーカイブまたはパージされます。

    p_archived

    Y

    YまたはNです(それぞれ、はいといいえを表します)。「Y」を指定した場合は、データは保存期間に基づいて(アーカイブ表に)アーカイブされ、それ以外の場合はパージされます。


  2. どのデータをアーカイブまたはパージするかに応じて、実行するスクリプトを選択します。表D-2に、データのタイプとそれぞれに対応するスクリプトの名前を示します。

    表D-2 データのタイプ別のアーカイブおよびパージ・スクリプト

    データのタイプ 対応するスクリプト

    ログイン、デバイス・データ

    exec_sp_purge_tracker_data.sql

    ルール、ポリシー・ログ・データ

    exec_sp_purge_rule_log.sql

    トランザクション、エンティティ・データ

    exec_sp_purge_txn_log.sql

    自動学習データ

    exec_sp_purge_workflow_data.sql

    プロファイル・データ

    exec_sp_purge_profile_data.sql

    ケース関連データ

    exec_sp_purge_case_data.sql

    モニター・データ

    exec_v_monitor_purge_proc.sql


  3. OAAMデータベース・ユーザー名およびパスワードを使用してOAAMデータベースにログインし、選択したスクリプトを実行します。

  4. 対応するログ・ファイルをチェックして、エラーや警告が発生していないか確認します。

  5. アーカイブを行う場合は、アーカイブ表のバックアップを作成し、必要に応じてデータをリストアできるようにします。

表D-3には、OAAMデータベース内のデータのアーカイブおよびパージ基準の概要が示されています。

表D-3 アーカイブおよびパージの基準

データのタイプ パージ基準

デバイスのフィンガープリント・データ

パージ・プロセスでは、次の基準に基づいてデバイス・フィンガープリント・データがアーカイブおよびパージされます。

  • 最初に、指定した期間を経過したデバイス・フィンガープリント・ログ

  • デバイス・フィンガープリント・ログからのデータの後に使用されていないユーザー・デバイス・マップ

  • デバイス・フィンガープリント・ログからのデータの後に使用されていないデバイス履歴

  • デバイス・フィンガープリント・ログからのデータの後に使用されていないデバイス・データ

注意: VT_SESSION_ACTION_MAP表は、パーティション削除管理スクリプトを使用してパージされません。この表には、デバイス・フィンガープリント・セッションの情報が格納されているため、この表をパージするには、exec_sp_purge_tracker_data.sqlスクリプトによりコールされる手動パージ・ストアド・プロシージャ(SP_SESS_ACT_MAP_PROC)を使用します。

トランザクションのセッション内ベースのデータ

パージ・プロセスでは、次の基準に基づいてセッション内トランザクション・データがアーカイブおよびパージされます。

  • 最初に、指定した期間を経過したセッション内トランザクション・ベースのデータ

  • トランザクション・ログのパージ後のトランザクション・データで特定の期間使用されていないトランザクション・データ

  • トランザクション・ログのパージ後の特定の期間のエンティティ、エンティティ・プロファイル、ユーザー・エンティティ・マップおよびエンティティ・トランザクション・マップ

自動学習プロファイル・データ

特定の期間に基づいて、次の表をアーカイブおよびパージします。

  • HOURSベースの表には、3日分のデータが保存されます。

  • DAYSベースの表には、32日分のデータが保存されます。

  • MONTHSベースの表には、1年分のデータが保存されます。

  • YEARSベースの表には、5年分のデータが保存されます。

フィンガープリント・タイプがAUTHおよびTRANSACTIONのフィンガープリント・データをアーカイブおよびパージします。この方法でパージするフィンガープリント・データは、フィンガープリント表およびfp_map表内にあります。前述のHOURS表、DAYS表、MONTHS表およびYEARS表にも、フィンガープリントへの参照が含まれます。フィンガープリント・データをパージする前に、HOURS表、DAYS表、MONTHS表およびYEARS表のアーカイブおよびパージが実行されていることを確認してください。

vcrypt.fingerprint.type.enum.autolearning.auth=11
vcrypt.fingerprint.type.enum.autolearning.transaction=12

11は、自動学習タイプAUTHに対応する列挙値です。統合中に別の値が使用された場合は、スクリプト内のこれらの値を変更してください。

12は、自動学習タイプTRANSACTIONに対応する列挙値です。統合中に別の値が使用された場合は、スクリプト内のこれらの値を変更してください。

ルール・ログ・データ

30日経過したルール・ログ・トランザクション・データは、アーカイブおよびパージされます。

エンティティおよびトランザクション・データのターゲット・パージ

エンティティおよびトランザクション・データは、次の基準に基づいてアーカイブおよびパージされます。

  • 保存日数。

    更新時刻に基づいて、保存日数を経過したデータがパージされます。エンティティまたはトランザクションの定義で構成されていない場合、データはパージもアーカイブもされません。

    デフォルト値: 180

  • データのパージ

    エンティティ・データをパージする場合は、「いずれのエンティティ・データもパージしないでください。」オプションを選択解除します。エンティティ・データをパージしない場合は、「いずれのエンティティ・データもパージしないでください。」オプションを選択します。

    トランザクション・データをパージする場合は、「いずれのトランザクション・データもパージしないでください。」オプションを選択解除します。トランザクション・データをパージしない場合は、「いずれのトランザクション・データもパージしないでください。」を選択します。

    アーカイブはパージ・プロセスの一部であるため、データのアーカイブのみを行うよう選択することはできません。

    注意: データがパージされている場合であっても、エンティティ定義およびトランザクション定義は保持されます。

    パージ・メカニズムは階層的です。データは、トランザクションからエンティティへ、さらに関連エンティティへとパージされます。

    グループ内のメンバー・エンティティがパージされると、グループ・メンバーがパージされます。

質問/問題: パージ・プロセスを実行すると、安全なデバイスの登録が削除されますか。

回答/解決策: 安全なデバイスに対する特別な処理はありません。アクティブなデバイスはパージされません。

6か月間のデバイス・パージ・ポリシー

  • デバイスが安全であり、過去6か月間使用されていない場合、パージの候補となります。

  • デバイスが安全でなく、過去6か月間使用されていない場合、パージの候補となります。

  • デバイスが安全であり、過去6か月間に使用された場合、パージの候補になりません。作成されてから6か月を経過しているデバイスでもパージされません。

  • デバイスが安全でなく、過去6か月間に使用された場合、パージの候補になりません。作成されてから6か月を経過しているデバイスでもパージされません。

安全なデバイスの登録

OAAMパージ/アーカイブ・プロセスでは、安全なデバイスの登録は解除されないため、デバイスの使用期間が6か月に満たない場合を除き、安全なデバイスを手動で再登録する必要があります。

デバイスが(tracker_purge_job.sqlの一部として)パージされた場合、パージ・スクリプトによりデバイスが登録解除されます。tracker_purge_job.sqlの一環として、使用されていないデバイス(VCRYPT_TRACKER_USERNODE_LOGSのレコードによって参照されていないデバイス)がすべてパージされ、VT_USER_DEVICE_MAPの関連レコードもパージされます。


D.4 パーティション・メンテナンス・スクリプトの実行

パーティション化されたOAAMデータベース・バージョンを使用している場合は、パーティションを削除するための関連スクリプトが用意されています。

D.4.1 週次パーティションの削除

週次パーティションを削除するには、次の手順を実行します。

  1. このスクリプトをデータベースの作成日から2週間ごとに実行します。

  2. デフォルトの保存期間を変更するには、スクリプトDrop_Weekly_Partition_tables.sqlを開き、保存期間を日数で設定します。デフォルトでは、15日(2週間)に設定されます。

  3. OAAMデータベース・ユーザー名およびパスワードを使用してOAAMデータベースにログインします。

  4. スクリプトDrop_Weekly_Partition_tables.sqlを実行します。

D.4.2 月次パーティションの削除

月次パーティションを削除するには、次の手順を実行します。

  1. このスクリプトを毎月末に実行し、6か月が経過したパーティションを削除します。

  2. デフォルトの保存期間を変更するには、スクリプトDrop_Monthly_Partition_tables.sqlを開き、保存期間を日数で設定します。デフォルトでは、180日(6か月)に設定されます。

  3. OAAMデータベース・ユーザー名およびパスワードを使用してOAAMデータベースにログインします。

  4. スクリプトDrop_Monthly_Partition_tables.sqlを実行します。

D.5 OLTP (オンライン・トランザクション処理)表の最小データ保存ポリシー

Oracle Adaptive Access Managerのシステム要件に基づいて、各種OLTP (オンライン・トランザクション処理)表の最小データ保存ポリシーを次に示します。ただし、ユーザーは各自のビジネス要件に基づいてデータ保存期間を決定する必要があります。

表D-4 最小データ保存ポリシー

データ 保存ポリシー

デバイスのフィンガープリント・データ

6か月(180日)以上

セッション内トランザクション表

6か月(180日)以上

トランザクション・データおよびエンティティ・データ

過去180日間に更新されていないデータはデフォルトでパージされます。

自動学習表およびワークフロー表

時間、日、月および年に対応する保存を次に示します。

  • HOURSベースのワークフローには、3日分のデータが保存されます。

  • DAYSベースのワークフローには、32日分のデータが保存されます。

  • MONTHSベースのワークフローには、1年分のデータが保存されます。

  • YEARSベースのワークフローには、5年分のデータが保存されます。

ルール・ログ・データ

アーカイブおよびパージ・スクリプトにより、30日を経過したすべてのルール・ログ・データがアーカイブおよびパージされます(この値は、カスタマ・ケア要件に基づいて設定する必要があります)。レポート・データベースを使用する場合、ルール・ロギング・データの保存は30日未満にする必要があります。


D.6 パージ・スクリプトを実行する際のベスト・プラクティス/ガイドライン

次に、パージ・スクリプトを実行する際のベスト・プラクティスを示します。

  • ビジネス要件や使用されるルールおよびポリシーに基づいて、保存期間を決定してください。

  • パージ/アーカイブは定期的に実行してください。

  • これらのスクリプトの実行中にレプリケーションを有効化しないでください。

  • 負荷のオフピーク時に実行することをお薦めします。アーカイブやパージはリソース(CPUなど)を大量に消費することがあります。

  • アーカイブを行う場合は、単なるパージとは異なり、アーカイブ表にデータが移動されるため、データベース・サーバーに十分なディスク領域があることを確認してください。アーカイブ領域には、現在の表の記憶域以上の大きさが必要です。

  • パージは、データベースからの削除またはコピーが必要な行が何百万行にも及ぶ場合、相当の時間を要するため、パージ戦略を立案します。

  • マルチ・データ・センターでは、表内のデータがレプリケートされるため、データの流れが少ないときにパージを実行することをお薦めします。マルチディメンショナル・クラスタリング(MDC)を設定していて、パージが必要な場合は、データベース管理者に相談してください。

  • カスタム・パージ・スクリプトには、提供されている標準のパージ・スクリプトで使用される表のみを含めることをお薦めします。提供されたパージ・スクリプトを変更する場合、ユーザーIDのパラメータ化が必要になることがあります。このような変更は、本番での使用前に詳細にテストして、予想どおりに機能するか確認する必要があります。

D.7 アーカイブおよびパージの対象となるデータの詳細

次の各項では、パージ対象となる各データとそれぞれに対応するアーカイブ表の詳細を示します。

D.7.1 ログインおよびデバイス・データ

表D-5 ログインおよびデバイス

ログインおよびデバイスの表 対応するアーカイブ表

VCRYPT_TRACKER_NODE

VCRYPT_TRACKER_NODE_PURGE

VCRYPT_TRACKER_NODE_HISTORY

VCRYPT_TRACKER_NODE_HISTORY_PURGE

VCRYPT_TRACKER_USERNODE_LOGS

VCRYPT_TRACKER_USERNODE_LOGS_PURGE

VT_DYN_ACT_EXEC_LOG

VT_DYN_ACT_EXEC_LOG_PURGE

VT_SESSION_ACTION_MAP

VT_SESSION_ACTION_MAP_PURGE

VT_USER_DEVICE_MAP

VT_USER_DEVICE_MAP_PURGE

VCRYPT_ALERT

VCRYPT_ALERT_PURGE

VCRYPT_USERS_HIST

VCRYPT_USERS_HIST_PURGE

V_USER_QA_HIST

V_USER_QA_HIST_PURGE


D.7.2 ルールおよびポリシー・ログ・データ

表D-6 ルールおよびポリシー・ログ・データの表

ルール、ポリシー・ログの表 対応するアーカイブ表

VR_POLICYSET_LOGS

VR_POLICYSET_LOGS_PURGE

VR_RULE_LOGS

VR_RULE_LOGS_PURGE

VR_MODEL_LOGS

VR_MODEL_LOGS_PURGE

VR_POLICY_LOGS

VR_POLICY_LOGS_PURGE


D.7.3 トランザクションおよびエンティティ・データ

表D-7 トランザクションおよびエンティティ・データの表

トランザクション表 対応するアーカイブ表

VT_ENTITY_ONE

VT_ENTITY_ONE_PURGE

VT_ENTITY_ONE_PROFILE

VT_ENTITY_ONE_PROFILE_PURGE

VT_USER_ENTITY1_MAP

VT_USER_ENTITY1_MAP_PURGE

VT_ENT_TRX_MAP

VT_ENT_TRX_MAP_PURGE

VT_TRX_DATA

VT_TRX_DATA_PURGE

VT_TRX_LOGS

VT_TRX_LOGS_PURGE


D.7.4 自動学習データ

表D-8 自動学習データの表

自動学習トランザクション表 対応するアーカイブ表

VT_WF_DAYS

VT_WF_DAYS_PURGE

VT_WF_HOURS

VT_WF_HOURS_PURGE

VT_WF_MONTHS

VT_WF_MONTHS_PURGE

VT_WF_YEARS

VT_WF_YEARS_PURGE

V_FPRINTS

V_FPRINTS_PURGE

V_FP_MAP

V_FP_MAP_PURGE


D.7.5 プロファイル・データ

表D-9 プロファイル・データの表

トランザクション表 対応するアーカイブ表

VT_USER_PROFILE

VT_USER_PROFILE_PURGE

VT_DEVICE_PROFILE

VT_DEVICE_PROFILE_PURGE

VT_BASE_IP_PROFILE

VT_BASE_IP_PROFILE_PURGE

VT_IP_PROFILE

VT_IP_PROFILE_PURGE

VT_STATE_PROFILE

VT_STATE_PROFILE_PURGE

VT_CITY_PROFILE

VT_CITY_PROFILE_PURGE

VT_COUNTRY_PROFILE

VT_COUNTRY_PROFILE_PURGE


D.7.6 ケース関連データ

表D-10 ケース関連データの表

トランザクション表 対応するアーカイブ表

V_CASE

V_CASE_PURGE

V_CASE_HIST

V_CASE_HIST _PURGE

V_ACTION_LOG_SESS_MAP

V_ACTION_LOG_SESS_MAP_PURGE

V_ACTION_LOG_SESS

V_ACTION_LOG_SESS

V_CASE_MAP

V_CASE_MAP_PURGE

V_CASE_MAP_HIST

V_CASE_MAP_HIST_PURGE


D.7.7 モニター・データ

表D-11 モニター・データの表

トランザクション表 対応するアーカイブ表

V_MONITOR_DATA

V_MONITOR_DATA_PURGE


D.8 関連ストアド・プロシージャのリスト

create_purge_proc.sqlスクリプトを使用すると、表と次のストアド・プロシージャが作成され、トランザクション表のデータをアーカイブおよびパージできるようになります。

  • SP_RULE_ PROC

  • SP_MODEL_ PROC

  • SP_POLICYSET_ PROC

  • SP_POLICY_ PROC

  • SP_NODE_HISTORY_ PROC

  • SP_NODE_PROC

  • SP_USER_NODE_PROC

  • SP_USER_DVC_PROC

  • SP_SESS_ACT_MAP_PROC

  • SP_WF_YEARS_PROC

  • SP_WF_MONTHS_PROC

  • SP_WF_DAYS_PROC

  • SP_WF_HOURS_PROC

  • SP_V_FPRINTS_PROC

  • SP_V_FP_MAP_PROC

  • SP_VT_DY_ACT_EX_LOG_PRO

  • SP_VT_TRX_LOGS_PROC

  • SP_VT_TRX_DATA_PROC

  • SP_VT_ENT_TRX_MAP_PROC

  • SP_VT_ENT_ONE_PRF_PROC

  • SP_VT_ENT_ONE_PROC

  • SP_VT_ENT_ONE_MAP_PROC

  • SP_VT_USER_PRF_PROC

  • SP_VT_DEVICE_PRF_PROC

  • SP_VT_IP_PRF_PROC

  • SP_VT_BASE_IP_PRF_PROC

  • SP_VT_CITY_PRF_PROC

  • SP_VT_COUNTRY_PRF_PROC

  • SP_VT_STATE_PRF_PROC

  • SP_ARCHIVE_PURGE_VCRYPT_ALERT

  • SP_ARCHPURGE_VCRYPTUSERSHIST

  • SP_ARCH_PURGE_V_USER_QA_HIST

create_case_purge_proc.sqlスクリプトを使用すると、表と次のストアド・プロシージャが作成され、トランザクション表のデータをアーカイブおよびパージできるようになります。

  • SP_V_CASE_PROC

  • SP_V_CASE_HIST_PROC

  • SP_V_CASE_MAP_PROC

  • SP_V_CASE_MAP_HIST_PROC

  • SP_V_ACTION_LOG_SESS_MAP_PROC

  • SP_V_ACTION_LOG_SESS_PROC

create_v_monitor_purge_proc.sqlスクリプトを使用すると、SP_V_MON_DATA_PURGE_PROCが作成され、トランザクション表のデータをアーカイブおよびパージできるようになります。