DBMS_AUDIT_MGMT
パッケージでは、監査証跡レコードを管理するためのサブプログラムが提供されます。これらのサブプログラムを使用すると、監査管理者は、データベース監査証跡、オペレーティング・システム(OS)監査証跡、XML監査証跡などの様々なタイプの監査証跡を管理できます。
関連項目: DBMS_AUDIT_MGMT パッケージを使用した監査証跡の管理の詳細は、『Oracle Databaseセキュリティ・ガイド』の監査によるセキュリティ・アクセスの検証に関する項を参照してください。 |
この章では、次の項目について説明します。
概要
セキュリティ・モデル
定数
ビュー
監査証跡管理サブプログラム
監査証跡クリーンアップ・サブプログラム
この項では、DBMS_AUDIT_MGMT
パッケージの使用に関連する項目について説明します。この項の内容は、次のとおりです。
データベース監査によって、データベースのセキュリティおよびコンプライアンスに関する要件を満たすことができます。監査レコードはAUDIT_TRAIL
初期化パラメータの設定に応じて、データベース表、オペレーティング・システム(OS)ファイルまたはXMLファイルに書き込まれます。
AUDIT_TRAIL
がDB
に設定されている場合、データベース・レコードはAUD$
表に書き込まれます。AUDIT_TRAIL
がOSに設定されている場合、監査レコードはオペレーティング・システム・ファイルに書き込まれます。AUDIT_TRAIL
がXMLに設定されている場合、監査レコードはオペレーティング・システム・ファイルにXML形式で書き込まれます。
関連項目: データベース監査に関する基本的な情報は、『Oracle Databaseセキュリティ・ガイド』の監査によるセキュリティ・アクセスの検証に関する項を参照してください。 |
効率的な実行およびディスク領域管理を行うには、監査レコードを適切に管理することが重要です。DBMS_AUDIT_MGMT
サブプログラムを使用すると、監査証跡レコードを効率的に管理できます。
DBMS_AUDIT_MGMT
パッケージでは、SYSTEM
表領域からデータベース監査証跡表を移動できるサブプログラムが提供されています。これにより、SYSTEM
表領域の負荷を減らすことで、データベース全体のパフォーマンスが向上します。また、最適化された表領域を監査レコード専用にすることもできます。
DBMS_AUDIT_MGMT
サブプログラムを使用して、オペレーティング・システムおよびXMLの監査ファイルを管理することもできます。監査ファイルの最大サイズ、経過時間などのプロパティを定義できます。これにより、OSおよびXML監査ファイルのファイル・サイズを抑えることができます。
DBMS_AUDIT_MGMT
サブプログラムを使用すると、すべての監査証跡タイプに対してクリーンアップ操作を実行できます。監査証跡は、最終アーカイブ・タイムスタンプの値に基づいて消去できます。最終アーカイブ・タイムスタンプは、安全にアーカイブされた最近の監査レコードのタイムスタンプを表します。
DBMS_AUDIT_MGMT
パッケージでは、監査管理者がアーカイブ済監査レコードに最終アーカイブ・タイムスタンプを設定できるサブプログラムが提供されています。このサブプログラムは、外部アーカイブ・システムで最終アーカイブ・タイムスタンプを設定する場合も使用できます。
DBMS_AUDIT_MGMT
サブプログラムを使用して、定期的に監査証跡レコードを削除するジョブを構成することもできます。これらのジョブの実行頻度は、監査管理者が制御できます。
ユーザーがすべてのDBMS_AUDIT_MGMT
サブプログラムを実行するには、DBMS_AUDIT_MGMT
パッケージに対するEXECUTE
権限が必要です。SYSDBA
ロールには、このパッケージに対するEXECUTE
権限がデフォルトで付与されています。
DBMS_AUDIT_MGMT
パッケージに対するEXECUTE
権限は、監査管理者にのみ付与することをお薦めします。
DBMS_AUDIT_MGMT
パッケージは、パラメータ値の指定に使用できるいくつかの列挙定数を定義します。列挙定数にはパッケージ名を接頭辞として付加する必要があります(DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD
など)。
DBMS_AUDIT_MGMT
パッケージには、次の表に示す定数が含まれます。
監査証跡は、監査レコードがデータベース表、オペレーティング・システム・ファイルまたはXMLファイルのいずれに書き込まれるかに基づいて分類できます。表27-1に、監査証跡タイプの定数を示します。
表27-1 DBMS_AUDIT_MGMT定数 - 監査証跡タイプ
定数 | タイプ | 説明 |
---|---|---|
|
|
すべての監査証跡タイプ。これには、標準データベース監査証跡( |
|
|
|
|
|
標準監査( |
|
|
|
|
|
オペレーティング・システム(OS)監査証跡およびXML監査証跡の両方。 |
|
|
オペレーティング・システム監査証跡。オペレーティング・システム・ファイルに格納された監査レコードを参照します。 |
|
|
XML監査証跡。XMLファイルに格納された監査レコードを参照します。 |
監査証跡プロパティによって、監査構成設定が決定されます。表27-2に、監査証跡プロパティに関連する定数を示します。
表27-2 DBMS_AUDIT_MGMT定数 - 監査証跡プロパティ
定数 | タイプ | 説明 |
---|---|---|
|
|
指定された監査証跡の監査レコードを消去するためにクリーンアップ・プロシージャをコールする間隔(時間単位)。 |
|
|
データベース監査表の監査レコードを削除する場合に使用するバッチ・サイズを指定します。監査レコードは、 |
|
|
監査ディレクトリの監査ファイルを削除する場合に使用するバッチ・サイズを指定します。監査ファイルは、 |
|
|
新しい監査ファイルが作成されるまでオペレーティング・システム(OS)監査ファイルまたはXML監査ファイルをオープンしておくことができる最大日数を指定します。 |
|
|
新しい監査ファイルがオープンされるまでオペレーティング・システム(OS)監査ファイルまたはXML監査ファイル・サイズを大きくできる最大サイズ(KB単位)を指定します。 |
監査証跡は、監査証跡パージ・ジョブによって消去されます。表27-3に、パージ・ジョブ・ステータスの値に関連する定数を示します。
表27-4にリストされているビューは、DBMS_AUDIT_MGMT
構成イベントおよびクリーンアップ・イベントを表示するために使用されます。
表27-4 DBMS_AUDIT_MGMTで使用されるビュー
ビュー | 説明 |
---|---|
|
クリーンアップ・イベント履歴を表示します。 |
|
現在構成されている監査証跡パージ・ジョブを表示します。 |
|
現在構成されている監査証跡プロパティを表示します。 |
|
監査証跡の最終アーカイブ・タイムスタンプ設定を表示します。 |
関連項目: これらのビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
DBMS_AUDIT_MGMT
パッケージのサブプログラムは、次のカテゴリにグループ化できます。
監査証跡管理サブプログラムでは、監査証跡プロパティを管理できます。
表27-5 監査証跡管理サブプログラム
サブプログラム | 説明 |
---|---|
CLEAR_AUDIT_TRAIL_PROPERTYプロシージャ |
指定した監査証跡プロパティの値を消去します。 |
SET_AUDIT_TRAIL_LOCATIONプロシージャ |
現行の表領域からユーザー指定の表領域に監査証跡表を移動します。 |
SET_AUDIT_TRAIL_PROPERTYプロシージャ |
指定した監査証跡タイプの監査証跡プロパティを設定します。 |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_AUDIT_MGMTサブプログラムの要約」を参照してください。
監査証跡クリーンアップ・サブプログラムでは、監査証跡レコードに対してクリーンアップに関連する操作を実行できます。
表27-6 監査証跡クリーンアップ・サブプログラム
サブプログラム | 説明 |
---|---|
|
アーカイブされた監査証跡レコード/ファイルを削除します。 |
CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャ |
SET_LAST_ARCHIVE_TIMESTAMPプロシージャによって設定されたタイムスタンプを消去します。 |
|
定期的に監査証跡レコード/ファイルを削除するパージ・ジョブを作成します。 |
|
INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。 |
|
CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。 |
|
監査管理インフラストラクチャを設定し、監査証跡レコード/ファイルのデフォルトのクリーンアップ間隔を設定します。 |
|
監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。 |
SET_LAST_ARCHIVE_TIMESTAMPプロシージャ |
監査レコード/ファイルが最後にアーカイブされた日時を示すタイムスタンプを設定します。 |
|
指定したパージ・ジョブでCLEAN_AUDIT_TRAILプロシージャをコールする間隔を設定します。 |
|
指定したパージ・ジョブを使用可能または使用禁止にします。 |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_AUDIT_MGMTサブプログラムの要約」を参照してください。
表27-7 DBMS_AUDIT_MGMTパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
アーカイブされた監査証跡レコードを削除します。 |
CLEAR_AUDIT_TRAIL_PROPERTYプロシージャ |
指定した監査証跡プロパティの値を消去します。 |
CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャ |
SET_LAST_ARCHIVE_TIMESTAMPプロシージャによって設定されたタイムスタンプを消去します。 |
|
定期的に監査証跡レコードを削除するパージ・ジョブを作成します。 |
|
INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。 |
|
CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。 |
|
監査のCOMMITの遅延を秒数で戻します。これは、監査レコードをデータベース監査証跡に |
|
監査管理インフラストラクチャを設定し、監査証跡レコードのデフォルトのクリーンアップ間隔を設定します。 |
|
監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。 |
SET_AUDIT_TRAIL_LOCATIONプロシージャ |
現行の表領域からユーザー指定の表領域に監査証跡表を移動します。 |
SET_AUDIT_TRAIL_PROPERTYプロシージャ |
指定した監査証跡タイプの監査証跡プロパティを設定します。 |
SET_LAST_ARCHIVE_TIMESTAMPプロシージャ |
監査レコードが最後にアーカイブされた日時を示すタイムスタンプを設定します。 |
|
指定したパージ・ジョブでCLEAN_AUDIT_TRAILプロシージャをコールする間隔を設定します。 |
|
指定したパージ・ジョブを使用可能または使用禁止にします。 |
このプロシージャは、監査証跡レコードを削除します。通常、CLEAN_AUDIT_TRAIL
プロシージャは、SET_LAST_ARCHIVE_TIMESTAMPプロシージャを使用して監査レコードの最終アーカイブ・タイムスタンプが設定された後にコールされます。
構文
DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL( audit_trail_type IN PLS_INTEGER, use_last_arch_timestamp IN BOOLEAN DEFAULT TRUE) ;
パラメータ
表27-8 CLEAN_AUDIT_TRAILプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
クリーンアップ操作を実行する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
削除対象となるレコードを決定するときに最終アーカイブ・タイムスタンプを使用するかどうかを指定します。 値が 値が デフォルト値は |
使用上の注意
次の使用上の注意が適用されます。
オペレーティング・システム(OS)またはXML監査ファイルをクリーンアップするとき、AUDIT_FILE_DEST
パラメータによって指定された現在の監査ディレクトリのファイルのみがクリーンアップされます。
Windowsプラットフォームでは、audit_trail_type
パラメータがDBMS_AUDIT_MGMT.AUDIT_TRAIL_OS
に設定されたとき、クリーンアップは実行されません。これは、Windows上のオペレーティング・システム(OS)監査レコードがWindowsのイベント ビューアに書き込まれるためです。
UNIXプラットフォームでは、オペレーティング・システム(OS)監査レコードがsyslogに書き込まれる場合、クリーンアップは実行されません。audit_trail_type
パラメータがDBMS_AUDIT_MGMT.AUDIT_TRAIL_OS
に設定されている場合、AUDIT_FILE_DEST
初期化パラメータに指定されたディレクトリの下にある*.aud
ファイルのみを削除します。
関連項目: 『Oracle Databaseリファレンス』の「AUDIT_SYSLOG_LEVEL」 |
audit_trail_type
パラメータがDBMS_AUDIT_MGMT.AUDIT_TRAIL_XML
に設定されている場合、このプロシージャは現在の監査ディレクトリからXML監査ファイル(*.xml
)のみを削除します。
Oracle Databaseは、XML監査ファイルに対して、ブックキーピング・ファイル(adx_
$ORACLE_SID
.txt
)を保持しています。このファイルは、クリーンアップ・プロシージャでは削除されません。
このプロシージャは、指定した監査証跡プロパティの値を消去します。監査証跡プロパティは、SET_AUDIT_TRAIL_PROPERTYプロシージャを使用して設定されます。
CLEAR_AUDIT_TRAIL_PROPERTY
プロシージャでは、オプションでuse_default_values
パラメータを使用して、プロパティの値をデフォルト値にリセットできます。
構文
DBMS_AUDIT_MGMT.CLEAR_AUDIT_TRAIL_PROPERTY( audit_trail_type IN PLS_INTEGER, audit_trail_property IN PLS_INTEGER, use_default_values IN BOOLEAN DEFAULT FALSE) ;
パラメータ
表27-9 CLEAR_AUDIT_TRAIL_PROPERTYプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
プロパティを消去する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
値を消去する必要がある監査証跡プロパティ。 監査証跡プロパティについては、表27-2「DBMS_AUDIT_MGMTの定数 - 監査証跡プロパティ」を参照してください。 |
|
消去する値のかわりに、 このパラメータのデフォルト値は |
使用上の注意
次の使用上の注意が適用されます。
このプロシージャは、使用しない監査証跡プロパティの値を消去する場合に使用できます。たとえば、オペレーティング・システム監査ファイルのサイズを制限しない場合、このプロシージャを使用してOS_FILE_MAX_SIZE
プロパティを再設定できます。
また、このプロシージャを使用して、監査証跡プロパティをデフォルト値にリセットすることもできます。この場合、このプロシージャを起動するときに、use_default_values
をTRUE
に設定する必要があります。
AUDIT_TRAIL_AUD_STD
監査証跡タイプおよびAUDIT_TRAIL_FGA_STD
監査証跡タイプに対しては、DB_DELETE_BATCH_SIZE
プロパティを個別に消去する必要があります。AUDIT_TRAIL_DB_STD
監査証跡タイプおよびAUDIT_TRAIL_ALL
監査証跡タイプを使用して、このプロパティをまとめて消去することはできません。
use_default_value
をFALSE
に設定してDB_DELETE_BATCH_SIZEプロパティの値を消去しても、DB_DELETE_BATCH_SIZEのデフォルト値が想定されます。監査レコードは常にバッチで削除されるためです。
AUDIT_TRAIL_OS
監査証跡タイプおよびAUDIT_TRAIL_XML
監査証跡タイプに対しては、FILE_DELETE_BATCH_SIZE
プロパティを個別に消去する必要があります。AUDIT_TRAIL_FILES
監査証跡タイプおよびAUDIT_TRAIL_ALL
監査証跡タイプを使用して、このプロパティをまとめて消去することはできません。
use_default_value
をFALSE
に設定してFILE_DELETE_BATCH_SIZEプロパティの値を消去しても、FILE_DELETE_BATCH_SIZEのデフォルト値が想定されます。監査ファイルは常にバッチで削除されるためです。
CLEANUP_INTERVAL
プロパティの値は消去できません。
例
次の例では、OS_FILE_MAX_SIZE
監査証跡プロパティの値を消去するために、CLEAR_AUDIT_TRAIL_PROPERTY
プロシージャをコールしています。このプロシージャでは、USE_DEFAULT_VALUES
パラメータに値FALSE
が使用されています。これは、オペレーティング・システム(OS)監査ファイルの最大サイズのしきい値がなくなることを意味します。
BEGIN DBMS_AUDIT_MGMT.CLEAR_AUDIT_TRAIL_PROPERTY( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, AUDIT_TRAIL_PROPERTY => DBMS_AUDIT_MGMT.OS_FILE_MAX_SIZE, USE_DEFAULT_VALUES => FALSE ); END; /
このプロシージャは、SET_LAST_ARCHIVE_TIMESTAMPプロシージャによって設定されたタイムスタンプを消去します。
構文
DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP( audit_trail_type IN PLS_INTEGER, rac_instance_number IN PLS_INTEGER DEFAULT NULL) ;
パラメータ
表27-10 CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タイムスタンプを消去する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
Oracle Real Application Clusters(Oracle RAC)インスタンスのインスタンス番号。デフォルト値は シングル・インスタンス・データベースでは、 |
このプロシージャは、定期的に監査証跡レコードを削除するパージ・ジョブを作成します。
このプロシージャは、ユーザーが指定した間隔でクリーンアップ操作を実行します。クリーンアップ操作を実行するために、CLEAN_AUDIT_TRAILプロシージャをコールします。
パージ・ジョブの頻度を変更するには、SET_PURGE_JOB_INTERVALプロシージャを使用します。
パージ・ジョブを使用可能または使用禁止にするには、SET_PURGE_JOB_STATUSプロシージャを使用します。
CREATE_PURGE_JOB
プロシージャによって作成されたパージ・ジョブを削除するには、DROP_PURGE_JOBプロシージャを使用します。
構文
DBMS_AUDIT_MGMT.CREATE_PURGE_JOB( audit_trail_type IN PLS_INTEGER, audit_trail_purge_interval IN PLS_INTEGER, audit_trail_purge_name IN VARCHAR2, use_last_arch_timestamp IN BOOLEAN DEFAULT TRUE) ;
パラメータ
表27-11 CREATE_PURGE_JOBプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
パージ・ジョブを作成する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
クリーンアップ・プロシージャがコールされる間隔(時間単位)。値が小さいほど頻繁にクリーンアップが実行されます。 |
|
パージ・ジョブを識別する名前。 |
|
削除対象となるレコードを決定するときに最終アーカイブ・タイムスタンプを使用するかどうかを指定します。 値が 値が デフォルト値は |
例
次の例では、すべての監査証跡タイプに対してCLEANUP
という名前のクリーンアップ・ジョブを作成するために、CREATE_PURGE_JOB
プロシージャをコールしています。audit_trail_purge_interval
パラメータを100に設定しています。これは、クリーンアップ・ジョブが100時間ごとに起動されることを意味します。また、use_last_arch_timestamp
パラメータの値をTRUE
に設定しています。これは、最終アーカイブ・タイムスタンプより古いすべての監査レコードが削除されることを意味します。
BEGIN DBMS_AUDIT_MGMT.CREATE_PURGE_JOB( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL, audit_trail_purge_interval => 100 /* hours */, audit_trail_purge_name => 'CLEANUP', use_last_arch_timestamp => TRUE); END; /
このプロシージャは、INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。DEINIT_CLEANUP
プロシージャは、default_cleanup_interval
パラメータの値を消去します。ただし、監査表に使用した場合は、監査証跡表を元の表領域に戻しません。
パラメータ
表27-12 DEINIT_CLEANUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
プロシージャをコールする必要がある監査証跡タイプ。 監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
このプロシージャは、CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。パージ・ジョブの名前を引数として渡します。
パラメータ
表27-13 DROP_PURGE_JOBプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除されるパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。 |
このファンクションは、監査のCOMMITの遅延を秒数で戻します。監査のCOMMITの遅延は、監査レコードをデータベース監査証跡にCOMMIT
するのにかかる最大時間です。監査レコードのCOMMITに、監査のCOMMITの遅延で定義された時間より長い時間がかかる場合、監査レコードのコピーがオペレーティング・システム(OS)監査証跡に書き込まれます。
監査のCOMMITの遅延の値は、データベース監査レコードの最終アーカイブ・タイムスタンプを決定する場合に役立ちます。
このプロシージャは、監査管理インフラストラクチャを設定し、監査証跡レコードのデフォルトのクリーンアップ間隔を設定します。監査証跡表がSYSTEM
表領域にある場合、プロシージャによってSYSAUX
表領域に移動されます。
監査証跡表をSYSTEM
表領域から移動すると、データベース全体のパフォーマンスが向上します。監査証跡表は、INIT_CLEANUP
プロシージャによってSYSAUX
表領域に移動されます。監査表がSET_AUDIT_TRAIL_LOCATIONプロシージャによって他の場所にすでに移動されている場合、表は移動されません。
SET_AUDIT_TRAIL_LOCATIONプロシージャでは、データベース監査表の代替ターゲット表領域を指定できます。
INIT_CLEANUP
プロシージャは、現時点では、AUDIT_TRAIL_OS
、AUDIT_TRAIL_XML
およびAUDIT_TRAIL_FILES
監査証跡タイプには関係ありません。これらの監査証跡タイプに、事前設定は必要ありません。
このプロシージャは、監査証跡レコードのデフォルトのクリーンアップ間隔も設定します。
構文
DBMS_AUDIT_MGMT.INIT_CLEANUP( audit_trail_type IN PLS_INTEGER, default_cleanup_interval IN PLS_INTEGER);
パラメータ
表27-14 INIT_CLEANUPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
クリーンアップ操作を初期化する必要がある監査証跡タイプ。 監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
クリーンアップ・プロシージャがコールされるデフォルトの間隔(時間単位)。最小値は1、最大値は999です。 |
使用上の注意
次の使用上の注意が適用されます。
このプロシージャでは、表領域間のデータ移動が発生する可能性があります。特に、データベース監査証跡表への移入がすでに行われている場合、この操作によってリソースが集中的に使用される可能性があります。このプロシージャは、オフピークの時間帯に起動することをお薦めします。
監査証跡表の移動先のSYSAUX
表領域に、監査証跡表に対応する十分な領域があることを確認してください。また、頻繁な書込み操作を行うために、SYSAUX
表領域を最適化する必要があります。
default_cleanup_interval
は、SET_AUDIT_TRAIL_PROPERTYプロシージャを使用して後で変更できます。
監査証跡表をSYSAUX
表領域に移動しない場合は、INIT_CLEANUP
プロシージャをコールする前に、DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION
プロシージャを使用して、監査証跡表を別の表領域に移動する必要があります。
このファンクションは、監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。監査証跡タイプに対してこのプロシージャがすでに実行されている場合、IS_CLEANUP_INITIALIZED
ファンクションはTRUE
を戻します。監査証跡タイプに対してこのプロシージャが実行されていない場合は、FALSE
を戻します。
このファンクションは、現時点では、AUDIT_TRAIL_OS
、AUDIT_TRAIL_XML
およびAUDIT_TRAIL_FILES
監査証跡タイプには関係ありません。これらの監査証跡タイプに対しては、常にTRUEを戻します。これらの監査証跡タイプに、事前設定は必要ありません。
パラメータ
表27-15 IS_CLEANUP_INITIALIZEDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ファンクションをコールする必要がある監査証跡タイプ。 監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
例
次の例では、クリーンアップ操作のために標準データベース監査証跡タイプが初期化されているかどうかを確認しています。監査証跡タイプが初期化されていない場合は、初期化するためにINIT_CLEANUPプロシージャをコールしています。
BEGIN IF NOT DBMS_AUDIT_MGMT.IS_CLEANUP_INITIALIZED(DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD) THEN DBMS_AUDIT_MGMT.INIT_CLEANUP( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, default_cleanup_interval => 12 /* hours */); END IF; END; /
このプロシージャは、現行の表領域からユーザー指定の表領域に監査証跡表を移動します。
SET_AUDIT_TRAIL_LOCATION
プロシージャは、現時点では、AUDIT_TRAIL_OS
、AUDIT_TRAIL_XML
およびAUDIT_TRAIL_FILES
監査証跡タイプには関係ありません。AUDIT_FILE_DEST
初期化パラメータは、これらの監査証跡タイプに対して宛先ディレクトリを指定できる唯一の方法です。
関連項目:
|
構文
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION( audit_trail_type IN PLS_INTEGER, audit_trail_location_value IN VARCHAR2) ;
パラメータ
表27-16 SET_AUDIT_TRAIL_LOCATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
監査証跡位置を設定する必要がある監査証跡タイプ。 監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
監査証跡レコードのターゲット位置またはターゲット表領域。 |
使用上の注意
次の使用上の注意が適用されます。
このプロシージャでは、表領域間のデータ移動が発生します。特に、データベース監査証跡表への移入がすでに行われている場合、この操作によってリソースが集中的に使用される可能性があります。このプロシージャは、オフピークの時間帯に起動することをお薦めします。
監査証跡表の移動先のターゲット表領域に、監査証跡表に対応する十分な領域があることを確認してください。また、頻繁な書込み操作を行うために、ターゲット表領域を最適化する必要があります。
このプロシージャは、次のaudit_trail_type
値に対してのみ有効です。
AUDIT_TRAIL_AUD_STD
AUDIT_TRAIL_FGA_STD
AUDIT_TRAIL_DB_STD
このプロシージャは、指定した監査証跡タイプの監査証跡プロパティを設定します。
オペレーティング・システム(OS)監査証跡タイプおよびXML監査証跡タイプに対しては、OS_FILE_MAX_SIZE
、OS_FILE_MAX_AGE
、FILE_DELETE_BATCH_SIZE
などのプロパティを設定します。OS_FILE_MAX_SIZE
プロパティおよびOS_FILE_MAX_AGE
プロパティによって、新しい監査証跡ファイルが作成されるまでの監査証跡ファイルのサイズおよび経過時間の最大値が決定されます。FILE_DELETE_BATCH_SIZE
プロパティは、1つのバッチで削除される監査レコードの数を指定します。
データベース監査証跡タイプに対しては、DB_DELETE_BATCH_SIZE
、CLEANUP_INTERVAL
などのプロパティを設定します。DB_DELETE_BATCH_SIZE
によって、監査証跡表から削除されるレコードのバッチ・サイズが指定されます。これによって、クリーンアップ操作が中断された場合、次にその操作が開始されたときに最初から開始する必要がなくなります。これは、最後に処理されたバッチより前のすべてのバッチがすでにコミットされているためです。
CLEANUP_INTERVAL
によって、クリーンアップ・プロシージャがコールされる頻度が時間単位で指定されます。
構文
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY( audit_trail_type IN PLS_INTEGER, audit_trail_property IN PLS_INTEGER, audit_trail_property_value IN PLS_INTEGER) ;
パラメータ
表27-17 SET_AUDIT_TRAIL_PROPERTYプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
プロパティを設定する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
設定される監査証跡プロパティ。監査証跡プロパティについては、表27-2「DBMS_AUDIT_MGMTの定数 - 監査証跡プロパティ」を参照してください。 |
|
|
使用上の注意
次の使用上の注意が適用されます。
値を明示的に設定しない監査証跡プロパティでは、デフォルト値が使用されます。
1つのオペレーティング・システム(OS)監査証跡タイプまたはXML監査証跡タイプに対してOS_FILE_MAX_SIZE
およびOS_FILE_MAX_AGE
プロパティの両方を設定すると、これらの2つの制限のいずれかに達したときに新しい監査証跡ファイルが作成されます。
たとえば、OS_FILE_MAX_SIZE
が10000、OS_FILE_MAX_AGE
が5であるとします。オペレーティング・システム監査ファイルがすでに5日を超えて保持されている場合は、サイズが9000KBでも、新しい監査ファイルがオープンされます。これは、いずれかの制限に達したためです。
AUDIT_TRAIL_AUD_STD
およびAUDIT_TRAIL_FGA_STD
監査証跡タイプに対しては、DB_DELETE_BATCH_SIZE
プロパティを個別に設定する必要があります。AUDIT_TRAIL_DB_STD
監査証跡タイプおよびAUDIT_TRAIL_ALL
監査証跡タイプを使用して、このプロパティをまとめて設定することはできません。
DB_DELETE_BATCH_SIZE
プロパティを使用すると、1つのバッチで削除される監査レコードの数を制御できます。このパラメータに大きな値を設定するには、UNDOログ領域の割当てを増やす必要があります。
AUDIT_TRAIL_OS
監査証跡タイプおよびAUDIT_TRAIL_XML
監査証跡タイプに対しては、FILE_DELETE_BATCH_SIZE
プロパティを個別に設定する必要があります。AUDIT_TRAIL_FILES
監査証跡タイプおよびAUDIT_TRAIL_ALL
監査証跡タイプを使用して、このプロパティをまとめて設定することはできません。
FILE_DELETE_BATCH_SIZE
プロパティを使用すると、1つのバッチで削除される監査ファイル数を制御できます。非常に大きな値を設定すると、GEN0
バックグラウンド・プロセスが長時間実行される場合があります。
例
次の例では、オペレーティング・システム(OS)監査証跡にOS_FILE_MAX_SIZE
プロパティを設定するために、SET_AUDIT_TRAIL_PROPERTY
プロシージャをコールしています。このプロパティ値を102400に設定しています。これは、現行の監査ファイルのサイズが100MBに達するたびに、新しい監査ファイルが作成されることを意味します。
BEGIN DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, audit_trail_property => DBMS_AUDIT_MGMT.OS_FILE_MAX_SIZE, audit_trail_property_value => 102400 /* 100MB*/ ); END; /
次の例では、オペレーティング・システム(OS)監査証跡にOS_FILE_MAX_AGE
プロパティを設定するために、SET_AUDIT_TRAIL_PROPERTY
プロシージャをコールしています。このプロパティ値を5に設定しています。これは、6日目ごとに新しい監査ファイルが作成されることを意味します。
BEGIN DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, audit_trail_property => DBMS_AUDIT_MGMT.OS_FILE_MAX_AGE, audit_trail_property_value => 5 /* days */); END; /
次の例では、AUDIT_TRAIL_AUD_STD
監査証跡にDB_DELETE_BATCH_SIZE
プロパティを設定するために、SET_AUDIT_TRAIL_PROPERTY
プロシージャをコールしています。このプロパティ値を100000に設定しています。これは、クリーンアップ操作時に、サイズ100000のバッチで監査レコードがSYS.AUD$
表から削除されることを意味します。
BEGIN DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, audit_trail_property => DBMS_AUDIT_MGMT.DB_DELETE_BATCH_SIZE, audit_trail_property_value => 100000 /* delete batch size */); END; /
このプロシージャは、監査レコードが最後にアーカイブされた日時を示すタイムスタンプを設定します。監査管理者は、監査レコードに連結するタイムスタンプを設定します。CLEAN_AUDIT_TRAILプロシージャは、このタイムスタンプを使用して、削除する監査レコードを決定します。
構文
DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP( audit_trail_type IN PLS_INTEGER, last_archive_time IN TIMESTAMP, rac_instance_number IN PLS_INTEGER DEFAULT NULL) ;
パラメータ
表27-18 SET_LAST_ARCHIVE_TIMESTAMPプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
タイムスタンプを設定する必要がある監査証跡タイプ。監査証跡タイプについては、表27-1「DBMS_AUDIT_MGMTの定数 - 監査証跡タイプ」を参照してください。 |
|
削除される監査レコードまたはファイルに基づく |
|
Oracle Real Application Clusters(Oracle RAC)インスタンスのインスタンス番号。デフォルト値は データベース監査証跡表がすべてのOracle RACインスタンスで共有されるため、 |
使用上の注意
次の使用上の注意が適用されます。
監査証跡タイプがAUDIT_TRAIL_AUD_STD
またはAUDIT_TRAIL_FGA_STD
の場合、last_archive_time
は協定世界時(UTC)で指定する必要があります。これは、データベース監査証跡がタイムスタンプをUTCで格納するためです。UTCはグリニッジ標準時(GMT)とも呼ばれます。
監査証跡タイプがAUDIT_TRAIL_OS
またはAUDIT_TRAIL_XML
の場合、last_archive_time
はローカル・タイム・ゾーンの日時で指定する必要があります。タイム・ゾーンは、OSまたはXML監査ファイルが作成されたマシンのタイム・ゾーンである必要があります。これは、オペレーティング・システム監査ファイルが、監査ファイルの最終変更タイムスタンプ・プロパティに基づいて消去されるためです。最終変更タイムスタンプ・プロパティの値は、マシンのローカル・タイム・ゾーンに格納されています。
次のaudit_trail_type
値はこのプロシージャに対して有効です。
AUDIT_TRAIL_AUD_STD
AUDIT_TRAIL_FGA_STD
AUDIT_TRAIL_OS
AUDIT_TRAIL_XML
Oracle Real Application Clusters(Oracle RAC)データベースを使用している場合は、個々のOracle RACノードを同期化するためにネットワーク・タイム・プロトコル(NTP)を使用することをお薦めします。
例
次の例では、Oracle RACインスタンス1にあるオペレーティング・システム(OS)監査証跡タイプに最終アーカイブ・タイムスタンプを設定するために、SET_LAST_ARCHIVE_TIMESTAMP
プロシージャをコールしています。TO_TIMESTAMP
ファンクションを使用して、文字列をタイムスタンプ値に変換しています。
use_last_arch_timestamp
をTRUE
に設定した状態でその後にCLEAN_AUDIT_TRAILプロシージャにコールすると、2007年9月10日14:10:10.0以前に変更された現在のAUDIT_FILE_DEST
ディレクトリからすべてのOS監査ファイルが削除されます。
BEGIN DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS, last_archive_time => TO_TIMESTAMP('10-SEP-0714:10:10.0','DD-MON-RRHH24:MI:SS.FF'), rac_instance_number => 1); END; /
このプロシージャは、指定したパージ・ジョブでCLEAN_AUDIT_TRAILプロシージャをコールする間隔を設定します。このパージ・ジョブは、CREATE_PURGE_JOBプロシージャを使用して作成済である必要があります。
構文
DBMS_AUDIT_MGMT.SET_PURGE_JOB_INTERVAL( audit_trail_purge_name IN VARCHAR2, audit_trail_interval_value IN PLS_INTEGER) ;
パラメータ
表27-19 SET_PURGE_JOB_INTERVALプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
間隔を設定するパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。 |
|
クリーンアップ・プロシージャがコールされる間隔(時間単位)。この値は、CREATE_PURGE_JOBプロシージャを使用して設定されたaudit_trail_purge_intervalパラメータを変更します。 |
このプロシージャは、指定したパージ・ジョブを使用可能または使用禁止にします。このパージ・ジョブは、CREATE_PURGE_JOBプロシージャを使用して作成済である必要があります。
構文
DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS( audit_trail_purge_name IN VARCHAR2, audit_trail_status_value IN PLS_INTEGER) ;
パラメータ
表27-20 SET_PURGE_JOB_STATUSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ステータスを設定するパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。 |
|
「DBMS_AUDIT_MGMTの定数: パージ・ジョブ・ステータス」で指定されている値の1つ。 値 値 |