Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド 11gリリース2 (11.1.2.2) B70199-06 |
|
![]() 前 |
![]() 次 |
この章では、SQLスクリプトを使用してOAAMデータベースのデータをアーカイブおよびパージする方法について説明します。
この項は、次の項目で構成されています。
アーカイブおよびパージ・プロセスを利用すると、ルールの評価や不正の調査で不要になったデータを解放できます。
アーカイブは、メイン・トランザクション表のデータをアーカイブ表に移動するプロセスです。
パージは、データ増大の問題が原因で、システムで不要になった古いデータを表から削除するプロセスです。
多くの表ではデータ増大の問題が発生しないため、すべての表がパージされるわけではありません。
「データのパージ」と「データのバックアップ」は異なります。データのバックアップは、データの損失が発生した場合にデータをリカバリすることを目的としています。これに対し、パージは実行時の表に古いデータが存在しないようにすることを目的としています。いずれの場合も、データを保護するには、データベース管理者と協力してデータベースのバックアップを定期的に実行する必要があります。
アーカイブIDM_ORACLE_HOME/oaam/oaam_db_scripts/oaam_db_purging_scripts.zip
に用意されているスクリプトを使用して、次のデータをアーカイブまたはパージできます。
ログインおよびデバイス・データ
ルール・ログ・データ
自動学習データ
トランザクションおよびエンティティ・データ
プロファイル・データ
アーカイブおよびパージ基準は、レコードの作成/更新タイムスタンプに基づきます。これは、保存期間(日数)で指定します。
次に、アーカイブおよびパージ・プロセスの概要を示します。
保存期間(通常は180日、つまり6か月)を決定します。
トランザクション機能を使用していて、トランザクション・タイプ別またはエンティティ別に異なる保存期間を指定する場合は、21.6項「トランザクション定義別のトランザクション・データのターゲット・パージ設定」および20.4項「エンティティ・データのターゲット・パージ設定」を参照してください。
パージとアーカイブのどちらを行うかを指定します。
パージ関連のストアド・プロシージャをOAAMデータベースにデプロイします。これはワンタイム・ジョブです。
どのタイプのデータをアーカイブやパージの対象とするかを指定します。
関連スクリプトを定期的に実行するようにスケジュールしたり、必要なときに手動で実行します。
データベース表V_SYS_LOGS
でLOG_TYPE
が99
であるエンティティを確認します。
注意: ルールの検索対象のデータがパージされている場合、ルールの動作が異なることがあります。たとえば、6か月のデータを検索するルールがあり、9日以前のデータをパージする場合などです。 |
次のいくつかの項では、これらをさらに詳しく説明します。
OAAMデータのアーカイブやパージを行うには、ワンタイム・スクリプトを設定する必要があります。
非EBR (エディションベースの再定義)スキーマのOAAMデータベースをインストールしている場合に、スクリプトを設定するには、次の手順を実行します。
スクリプト・ディレクトリoaam_purge_script
を作成します。
スクリプト・アーカイブIDM_ORACLE_HOME
/oaam/oaam_db_scripts/oaam_db_purging_scripts.zip
をスクリプト・ディレクトリに解凍します。
sys
またはsysdba
アカウントを使用してデータベースにログインします。
ストアド・プロシージャを作成して実行できるよう、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;
OAAMユーザー名およびパスワードを使用してOAAMスキーマに接続します。例:
sqlplus oaam_db_user_name/oaam_db_password
create_purge_proc.sql
スクリプトを実行します。
SQL> @oracle_db/create_purge_proc.sql
ストアド・プロシージャを検証して、エラーがなく有効であること確認します。
エディションベースの再定義(EBR)を利用すると、使用中のOAAMデータベース・コンポーネントをそのままアップグレードして、ダウンタイムを最小限に抑えたり、なくすことができます。
EBRに対応したアーカイブおよびパージ・プロセスを設定するには、次の手順を実行します。
sys
またはsysdba
アカウントを使用してデータベースにログインします。
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
OAAMデータベース・ユーザー名およびパスワードを使用してOAAMスキーマにログインします。
例:
sqlplus oaam_db_user_name/oaam_db_password
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
ストアド・プロシージャを検証して、エラーがなく有効であること確認します。
アーカイブ・スクリプトやパージ・スクリプトを実行するには、次の手順を実行します。
スクリプトの実行時にテキスト・エディタを使用して、p_days1
パラメータとp_archived
パラメータを設定します。どのスクリプトにも、これらの2つのパラメータを設定できます。表D-1に、これらのパラメータの説明を示します。
どのデータをアーカイブまたはパージするかに応じて、実行するスクリプトを選択します。表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 |
OAAMデータベース・ユーザー名およびパスワードを使用してOAAMデータベースにログインし、選択したスクリプトを実行します。
対応するログ・ファイルをチェックして、エラーや警告が発生していないか確認します。
アーカイブを行う場合は、アーカイブ表のバックアップを作成し、必要に応じてデータをリストアできるようにします。
表D-3には、OAAMデータベース内のデータのアーカイブおよびパージ基準の概要が示されています。
表D-3 アーカイブおよびパージの基準
パーティション化されたOAAMデータベース・バージョンを使用している場合は、パーティションを削除するための関連スクリプトが用意されています。
Oracle Adaptive Access Managerのシステム要件に基づいて、各種OLTP (オンライン・トランザクション処理)表の最小データ保存ポリシーを次に示します。ただし、ユーザーは各自のビジネス要件に基づいてデータ保存期間を決定する必要があります。
表D-4 最小データ保存ポリシー
データ | 保存ポリシー |
---|---|
デバイスのフィンガープリント・データ |
6か月(180日)以上 |
セッション内トランザクション表 |
6か月(180日)以上 |
トランザクション・データおよびエンティティ・データ |
過去180日間に更新されていないデータはデフォルトでパージされます。 |
自動学習表およびワークフロー表 |
時間、日、月および年に対応する保存を次に示します。
|
ルール・ログ・データ |
アーカイブおよびパージ・スクリプトにより、30日を経過したすべてのルール・ログ・データがアーカイブおよびパージされます(この値は、カスタマ・ケア要件に基づいて設定する必要があります)。レポート・データベースを使用する場合、ルール・ロギング・データの保存は30日未満にする必要があります。 |
次に、パージ・スクリプトを実行する際のベスト・プラクティスを示します。
ビジネス要件や使用されるルールおよびポリシーに基づいて、保存期間を決定してください。
パージ/アーカイブは定期的に実行してください。
これらのスクリプトの実行中にレプリケーションを有効化しないでください。
負荷のオフピーク時に実行することをお薦めします。アーカイブやパージはリソース(CPUなど)を大量に消費することがあります。
アーカイブを行う場合は、単なるパージとは異なり、アーカイブ表にデータが移動されるため、データベース・サーバーに十分なディスク領域があることを確認してください。アーカイブ領域には、現在の表の記憶域以上の大きさが必要です。
パージは、データベースからの削除またはコピーが必要な行が何百万行にも及ぶ場合、相当の時間を要するため、パージ戦略を立案します。
マルチ・データ・センターでは、表内のデータがレプリケートされるため、データの流れが少ないときにパージを実行することをお薦めします。マルチディメンショナル・クラスタリング(MDC)を設定していて、パージが必要な場合は、データベース管理者に相談してください。
カスタム・パージ・スクリプトには、提供されている標準のパージ・スクリプトで使用される表のみを含めることをお薦めします。提供されたパージ・スクリプトを変更する場合、ユーザーIDのパラメータ化が必要になることがあります。このような変更は、本番での使用前に詳細にテストして、予想どおりに機能するか確認する必要があります。
次の各項では、パージ対象となる各データとそれぞれに対応するアーカイブ表の詳細を示します。
表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-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 |
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が作成され、トランザクション表のデータをアーカイブおよびパージできるようになります。