Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド 11gリリース1 (11.1.1) E67347-01 |
|
前 |
次 |
アーカイブは、パージ・プロセス時に削除される古いデータをバックアップするプロセスです。アーカイブ・プロセス中に、メイン・トランザクション表のデータをバックアップ表に移動します。デフォルトでは、Oracle Adaptive Access Managerパージ・スクリプトは、パージ・プロセス中に削除されるデータをアーカイブします。
パージは、データベース内の空き容量を確保するか、システムで不要になった古いデータを削除するプロセスです。パージ・プロセスの基準には、データの存続期間またはデータの型を使用できます。
この章では、SQLスクリプトを使用してOAAMデータベースのデータをアーカイブおよびパージする方法について説明します。
Oracle Adaptive Access Managerデータベースのルーチン・メンテナンスおよびアーカイブとパージを実行するDBAまたはシステム管理者は、この章の手順を実行する必要があります。
この章の構成は、次のとおりです。
アーカイブおよびパージ・プロセスを利用すると、ルールの評価や不正の調査で不要になったデータを解放できます。
アーカイブは、メイン・トランザクション表のデータをアーカイブ表に移動するプロセスです。
パージは、システムで不要になった古いデータを削除するプロセスです。
多くの表ではデータ増大の問題が発生しないため、すべての表がパージされるわけではありません。
「データのパージ」と「データのバックアップ」は異なります。データのバックアップは、データの損失が発生した場合にデータをリカバリすることを目的としています。これに対し、パージは実行時の表に古いデータが存在しないようにすることを目的としています。いずれの場合も、データを保護するには、データベース管理者と協力してデータベースのバックアップを定期的に実行する必要があります。
アーカイブIDM_ORACLE_HOME/oaam/oaam_db_scripts/oaam_db_purging_scripts.zip
に用意されているスクリプトを使用して、次のデータをアーカイブまたはパージできます。
ログインおよびデバイス・データ
ルール・ログ・データ
自動学習データ
トランザクションおよびエンティティ・データ
プロファイル・データ
アーカイブおよびパージ基準は、レコードの作成/更新タイムスタンプに基づきます。これは、保存期間(日数)で指定します。
次に、アーカイブおよびパージ・プロセスの概要を示します。
保存期間(通常は180日、つまり6か月)を決定します。
パージとアーカイブのどちらを行うかを指定します。
パージ関連のストアド・プロシージャをOAAMデータベースにデプロイします。これはワンタイム・ジョブです。
どのタイプのデータをアーカイブやパージの対象とするかを指定します。
関連スクリプトを定期的に実行するようにスケジュールしたり、必要なときに手動で実行します。
データベース表V_SYS_LOGS
でLOG_TYPE
が99
であるエンティティを確認します。
次のいくつかの項では、これらをさらに詳しく説明します。
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
ストアド・プロシージャを検証して、エラーがなく有効であること確認します。
注意: パージ/アーカイブ・スクリプトには、パージ関連のストアド・プロシージャを作成および実行するCREATE Any権限が必要です。 パージ/アーカイブ・スクリプトで、指定の表に対してカスタム再作成索引ストアド・プロシージャを使用するため、このストアド・プロシージャでは、 Oracle Adaptive Access Managerのパージ/アーカイブ・ルーチンを設定および実行するためにこれらの権限を付与し、パージ/アーカイブ・プロセスの完了後、それらを取り消す必要があります。 |
次に、パージ・スクリプトを実行する際のベスト・プラクティスを示します。
ビジネス要件や使用されるルールおよびポリシーに基づいて、保存期間を決定してください。
パージ/アーカイブは定期的に実行してください。
これらのスクリプトの実行中にレプリケーションを有効化しないでください。
負荷のオフピーク時に実行することをお薦めします。アーカイブやパージはリソース(CPUなど)を大量に消費することがあります。
アーカイブを行う場合は、単なるパージとは異なり、アーカイブ表にデータが移動されるため、データベース・サーバーに十分なディスク領域があることを確認してください。アーカイブ領域には、現在の表の記憶域以上の大きさが必要です。
パージは、データベースからの削除またはコピーが必要な行が何百万行にも及ぶ場合、相当の時間を要するため、パージ戦略を立案します。
マルチ・データ・センターでは、表内のデータがレプリケートされるため、データの流れが少ないときにパージを実行することをお薦めします。マルチディメンショナル・クラスタリング(MDC)を設定していて、パージが必要な場合は、データベース管理者に相談してください。
カスタム・パージ・スクリプトには、提供されている標準のパージ・スクリプトで使用される表のみを含めることをお薦めします。提供されたパージ・スクリプトを変更する場合、ユーザーIDのパラメータ化が必要になることがあります。このような変更は、本番での使用前に詳細にテストして、予想どおりに機能するか確認する必要があります。
アーカイブ・スクリプトやパージ・スクリプトを実行するには、次の手順を実行します。
p_days1
パラメータとp_archived
パラメータを設定します。どのスクリプトにも、これらの2つのパラメータを設定できます。表I-1で、これらのパラメータについて説明します。
どのデータをアーカイブまたはパージするかに応じて、実行するスクリプトを選択します。表I-2に、データのタイプとそれぞれに対応するスクリプトの名前を示します。
表I-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データベースにログインし、選択したスクリプトを実行します。
対応するログ・ファイルをチェックして、エラーや警告が発生していないか確認します。
アーカイブを行う場合は、アーカイブ表のバックアップを作成し、必要に応じてデータをリストアできるようにします。
安全なデバイスの登録
OAAMパージ/アーカイブ・プロセスでは、安全なデバイスの登録は解除されないため、デバイスの使用期間が6か月に満たない場合を除き、安全なデバイスを手動で再登録する必要があります。
パージ・スクリプトを使用すると、デバイスがtracker_purge_job.sqlの一環としてパージされたときに、そのデバイスは登録解除されます。tracker_purge_job.sqlの一環として、使用されていないデバイス(VCRYPT_TRACKER_USERNODE_LOGSのレコードによって参照されていないデバイス)がすべてパージされ、VT_USER_DEVICE_MAPの関連レコードもパージされます。
自動化スケジュール
アーカイブとパージのジョブは、ルーチン・スケジュールの一環になります。これらのジョブは、データベース・ジョブまたはOSベースのスケジュール・ユーティリティ(crontab
、at
)またはスケジューラ・ソフトウェア(autosys
、appworx
)を使用してスケジュールできます。
これらのスクリプトは、定期的に、およびピーク時以外に実行するようにスケジュールすることをお薦めします。
アーカイブおよびパージが成功したかどうかを判断するには、ログ・ファイル(スケジューラ・ログ、スクリプト出力ログなど)でエラーがないかどうかを確認します。アーカイブとパージ・プロセスが完了すると、ユーザーは、トランザクション・ログとその関連パージ済表に問い合せて、データがアーカイブおよびパージされたことを検証することもできます。
お薦めしたように、ユーザーは、今後トラブルシューティングの実行が必要な場合に備えて、アーカイブ・プロセスの完了後にアーカイブ済表のエクスポート・バックアップを取る必要があります。
リストアを実行する場合、ユーザーは、Oracleのデータベース・インポート機能を使用して、目的の日付のデータを一時表にリストアする必要があります。
データのリストアが必要な場合は、Oracleサポート・サービスに連絡してください。
パーティション化されたOAAMデータベース・バージョンを使用している場合は、パーティションを削除するための関連スクリプトが用意されています。
週次パーティションを削除するには、次の手順を実行します。
このスクリプトをデータベースの作成日から2週間ごとに実行します。
デフォルトの保存期間を変更するには、スクリプトDrop_Weekly_Partition_tables.sql
を開き、保存期間を日数で設定します。デフォルトでは、15
日(2週間)に設定されます。
OAAMデータベース・ユーザー名およびパスワードを使用してOAAMデータベースにログインします。
スクリプトDrop_Weekly_Partition_tables.sql
を実行します。
次の各項では、パージ対象となる各データとそれぞれに対応するアーカイブ表の詳細を示します。
表I-3 ログインおよびデバイス
ログインおよびデバイスの表 | 対応するアーカイブ表 |
---|---|
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 |
注意: VT_SESSION_ACTION_MAP表は、パーティション削除管理スクリプトを使用してパージされません。この表には、デバイス・フィンガープリント・セッションの情報が格納されているため、この表をパージするには、 |
表I-7 プロファイル・データの表
トランザクション表 | 対応するアーカイブ表 |
---|---|
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 |
次の表に、アーカイブおよびパージの基準を示します。
表I-10 アーカイブおよびパージの基準
Oracle Adaptive Access Managerのシステム要件に基づいて、各種OLTP表の最小データ保存ポリシーを次に示します。ただし、ユーザーは各自のビジネス要件に基づいてデータ保存期間を決定する必要があります。詳細は、この章の情報を参照してください。
HOURSベースのワークフロー表には、3日分のデータが保存されます。
DAYSベースのワークフロー表には、32日分のデータが保存されます。
MONTHSベースのワークフロー表には、1年分のデータが保存されます。
YEARSベースのワークフロー表には、5年分のデータが保存されます。
この項では、Oracle Databaseのアーカイブおよびパージ設定スクリプトを示します。
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
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