プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

29 DBMS_AUDIT_MGMT

DBMS_AUDIT_MGMTパッケージでは、監査証跡レコードを管理するためのサブプログラムが提供されます。監査管理者は、これらのサブプログラムを使用して監査証跡を管理できます。混合モード環境では、監査証跡はデータベース、オペレーティング・システム(OS)およびXMLの各監査証跡から構成されます。統合監査環境では、統合監査証跡から構成されます。


関連項目:

  • 監査時のセキュリティ・アクセスの検証については、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • 統合監査への移行については、『Oracle Databaseアップグレード・ガイド』を参照してください。


この章では、次の項目について説明します。

DBMS_AUDIT_MGMTの使用方法

この項では、DBMS_AUDIT_MGMTパッケージの使用に関連する項目について説明します。この項の内容は、次のとおりです。

概要

データベース監査によって、データベースのセキュリティおよびコンプライアンスに関する要件を満たすことができます。混合モード環境では、監査レコードはAUDIT_TRAIL初期化パラメータの設定に応じて、データベース表、オペレーティング・システム(OS)ファイルまたはXMLファイルに書き込まれます。統合監査にアップグレードした場合は、監査レコードは統合監査証跡に書き込まれます。

混合モード環境では、AUDIT_TRAILDBに設定されている場合、データベース・レコードはAUD$表に書き込まれます。統合監査環境では、監査レコードはAUDSYSスキーマ内の読取り専用表に書き込まれます。この表の内容は、UNIFIED_AUDIT_TRAILデータ・ディクショナリ・ビューで表示可能です。AUDIT_TRAILがOSに設定されると、監査レコードはオペレーティング・システム・ファイルに書き込まれます。AUDIT_TRAILがXMLに設定されている場合、監査レコードはオペレーティング・システム・ファイルにXML形式で書き込まれます。

統合監査ファシリティを使用すると、すべての監査レコードは共通形式で統合監査証跡に書き込まれます。これは、UNIFIED_AUDIT_TRAILビューで表示可能です。

効率的な実行およびディスク領域管理を行うには、監査レコードを適切に管理することが重要です。DBMS_AUDIT_MGMTサブプログラムを使用すると、監査証跡レコードを効率的に管理できます。

統合監査環境へ移行していないユーザーのために、DBMS_AUDIT_MGMTパッケージでは、SYSTEM表領域からデータベース監査証跡表を移動できるサブプログラムが提供されています。これにより、SYSTEM表領域の負荷を減らすことで、データベース全体のパフォーマンスが向上します。また、最適化された表領域を監査レコード専用にすることもできます。

混合モード環境では、DBMS_AUDIT_MGMTサブプログラムを使用して、オペレーティング・システムおよびXMLの監査ファイルを管理することもできます。監査ファイルの最大サイズ、経過時間などのプロパティを定義できます。これにより、OSおよびXML監査ファイルのファイル・サイズを抑えることができます。

DBMS_AUDIT_MGMTサブプログラムを使用すると、すべての監査証跡タイプに対してクリーンアップ操作を実行できます。監査証跡は、最終アーカイブ・タイムスタンプの値に基づいて消去できます。最終アーカイブ・タイムスタンプは、安全にアーカイブされた最近の監査レコードのタイムスタンプを表します。

DBMS_AUDIT_MGMTパッケージでは、監査管理者がアーカイブ済監査レコードに最終アーカイブ・タイムスタンプを設定できるサブプログラムが提供されています。このサブプログラムは、外部アーカイブ・システムで最終アーカイブ・タイムスタンプを設定する場合も使用できます。

DBMS_AUDIT_MGMTサブプログラムを使用して、定期的に監査証跡レコードを削除するジョブを構成することもできます。これらのジョブの実行頻度は、監査管理者が制御できます。


関連項目:

統合監査の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

セキュリティ・モデル

ユーザーがすべてのDBMS_AUDIT_MGMTサブプログラムを実行するには、DBMS_AUDIT_MGMTパッケージに対するEXECUTE権限が必要です。SYSDBAおよびAUDIT_ADMINロールには、このパッケージに対するEXECUTE権限がデフォルトで付与されています。

DBMS_AUDIT_MGMTパッケージに対するEXECUTE権限およびAUDIT_ADMINロールは、監査管理者にのみ付与することをお薦めします。

DBMS_AUDIT_MGMTサブプログラムの実行は常に監査されています。

定数

DBMS_AUDIT_MGMTパッケージは、パラメータ値の指定に使用できるいくつかの定数を定義します。

DBMS_AUDIT_MGMTパッケージには、次の表に示す定数が含まれます。

監査証跡は、監査レコードがデータベース表、オペレーティング・システム・ファイルまたはXMLファイルのいずれに書き込まれるかに基づいて分類できます。表29-1に、監査証跡タイプの定数を示します。

表29-1 DBMS_AUDIT_MGMT定数: 監査証跡タイプ

定数 タイプ 説明

AUDIT_TRAIL_ALL

PLS_INTEGER

すべての監査証跡タイプ。標準データベース監査証跡(SYS.AUD$表、SYS.FGA_LOG$表および統合監査証跡表)、オペレーティング・システム(OS)監査証跡およびXML監査証跡を含みます。

AUDIT_TRAIL_AUD_STD

PLS_INTEGER

SYS.AUD$表の標準データベース監査証跡レコード。

AUDIT_TRAIL_DB_STD

PLS_INTEGER

標準監査(SYS.AUD$)およびFGA監査(SYS.FGA_LOG$)レコードの両方。

AUDIT_TRAIL_FGA_STD

PLS_INTEGER

SYS.FGA_LOG$表の標準データベース・ファイングレイン監査(FGA)レコード。

AUDIT_TRAIL_FILES

PLS_INTEGER

オペレーティング・システム(OS)監査証跡およびXML監査証跡の両方。

AUDIT_TRAIL_OS

PLS_INTEGER

オペレーティング・システム監査証跡。オペレーティング・システム・ファイルに格納された監査レコードを参照します。

AUDIT_TRAIL_UNIFIED

PLS_INTEGER

統合監査証跡。統合監査では、すべての監査レコードは監査証跡に書き込まれ、UNIFIED_AUDIT_TRAILなどの統合監査証跡ビューから表示できます。

AUDIT_TRAIL_XML

PLS_INTEGER

XML監査証跡。XMLファイルに格納された監査レコードを参照します。


監査証跡プロパティによって、監査構成設定が決定されます。表29-2に、監査証跡のプロパティに関連のある定数を示します。

表29-2 DBMS_AUDIT_MGMTの定数: 監査証跡のプロパティ

定数 タイプ 説明

AUDIT_TRAIL_WRITE_MODE

PLS_INTEGER

AUDIT_TRAIL_IMMEDIATE_WRITE値は、監査レコードをキューイングするのではなく、すぐに永続化する必要があることを示します。一方、AUDIT_TRAIL_QUEUED_WRITEは、監査レコードをキューイングした後、データベースのフラッシュ計画に沿って永続化できることを示します。

『Oracle Databaseセキュリティ・ガイド』も参照してください。

CLEAN_UP_INTERVAL

PLS_INTEGER

指定された監査証跡の監査レコードを消去するためにクリーンアップ・プロシージャをコールする間隔(時間単位)。

DB_DELETE_BATCH_SIZE

PLS_INTEGER

データベース監査表の監査レコードを削除する場合に使用するバッチ・サイズを指定します。監査レコードは、DB_DELETE_BATCH_SIZEと同じサイズのバッチで削除されます。

FILE_DELETE_BATCH_SIZE

PLS_INTEGER

監査ディレクトリの監査ファイルを削除する場合に使用するバッチ・サイズを指定します。監査ファイルは、FILE_DELETE_BATCH_SIZEと同じサイズのバッチで削除されます。

OS_FILE_MAX_AGE

PLS_INTEGER

新しい監査ファイルが作成されるまでオペレーティング・システム(OS)監査ファイルまたはXML監査ファイルをオープンしておくことができる最大日数を指定します。

OS_FILE_MAX_SIZE

PLS_INTEGER

新しい監査ファイルがオープンされるまでオペレーティング・システム(OS)監査ファイルまたはXML監査ファイル・サイズを大きくできる最大サイズ(KB単位)を指定します。


監査証跡は、監査証跡パージ・ジョブによって消去されます。表29-3に、パージ・ジョブ・ステータスの値に関連する定数を示します。

表29-3 DBMS_AUDIT_MGMTの定数: パージ・ジョブ・ステータス

定数 タイプ 説明

PURGE_JOB_DISABLE

PLS_INTEGER

パージ・ジョブを使用禁止にします。

PURGE_JOB_ENABLE

PLS_INTEGER

パージ・ジョブを使用可能にします。


ビュー

表29-4にリストされているビューは、DBMS_AUDIT_MGMT構成イベントおよびクリーンアップ・イベントを表示するために使用されます。

表29-4 DBMS_AUDIT_MGMTで使用されるビュー

ビュー 説明

DBA_AUDIT_MGMT_CLEAN_EVENTS

クリーンアップ・イベント履歴を表示します。

DBA_AUDIT_MGMT_CLEANUP_JOBS

現在構成されている監査証跡パージ・ジョブを表示します。

DBA_AUDIT_MGMT_CONFIG_PARAMS

現在構成されている監査証跡プロパティを表示します。

DBA_AUDIT_MGMT_LAST_ARCH_TS

監査証跡の最終アーカイブ・タイムスタンプ設定を表示します。



関連項目:

これらのビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

サブプログラム・グループ

DBMS_AUDIT_MGMTパッケージのサブプログラムは、次のカテゴリにグループ化できます。

監査証跡管理サブプログラム

監査証跡管理サブプログラムでは、監査証跡プロパティを管理できます。

表29-5 監査証跡管理サブプログラム

サブプログラム 説明

CLEAR_AUDIT_TRAIL_PROPERTYプロシージャ


指定した監査証跡プロパティの値を消去します。

FLUSH_UNIFIED_AUDIT_TRAILプロシージャ


SGAキューにある統合監査証跡レコードをディスクに書き込みます。

GET_ AUDIT_TRAIL_PROPERTY_VALUEファンクション


SET_AUDIT_TRAIL_PROPERTYプロシージャで設定されたプロパティ値を戻します。

GET_LAST_ARCHIVE_TIMESTAMPファンクション


データベース・インスタンスのSET_LAST_ARCHIVE_TIMESTAMPプロシージャで設定されたタイムスタンプを戻します。

LOAD_UNIFIED_AUDIT_FILESプロシージャ


統合監査証跡からあふれたOS監査ファイルのデータを、指定した統合監査証跡表領域にロードします。

SET_AUDIT_TRAIL_LOCATIONプロシージャ


現行の表領域からユーザー指定の表領域に監査証跡表を移動します。

SET_AUDIT_TRAIL_PROPERTYプロシージャ


指定した監査証跡タイプの監査証跡プロパティを設定します。

SET_LAST_ARCHIVE_TIMESTAMPプロシージャ


監査レコードまたはファイルが最後にアーカイブされた日時を示すタイムスタンプを設定します。


このパッケージ内のすべてのサブプログラムのリストは、「DBMS_AUDIT_MGMTサブプログラムの要約」を参照してください。

監査証跡クリーンアップ・サブプログラム

監査証跡クリーンアップ・サブプログラムでは、監査証跡レコードに対してクリーンアップに関連する操作を実行できます。

表29-6 監査証跡クリーンアップ・サブプログラム

サブプログラム 説明

CLEAN_AUDIT_TRAILプロシージャ


アーカイブされた監査証跡レコードまたはファイルを削除します。

CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャ


SET_LAST_ARCHIVE_TIMESTAMPプロシージャによって設定されたタイムスタンプを消去します。

CREATE_PURGE_JOBプロシージャ


定期的に監査証跡レコードまたはファイルを削除するパージ・ジョブを作成します。

DEINIT_CLEANUPプロシージャ


INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。

DROP_OLD_UNIFIED_AUDIT_TABLESプロシージャ


プラガブル・データベース(PDB)のクローニングの後の古い統合監査表を削除します。

DROP_PURGE_JOBプロシージャ


CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。

INIT_CLEANUPプロシージャ


監査管理インフラストラクチャを設定し、監査証跡レコードまたはファイルのデフォルトのクリーンアップ間隔を設定します。

IS_CLEANUP_INITIALIZEDファンクション


監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。

SET_PURGE_JOB_INTERVALプロシージャ


指定したパージ・ジョブでCLEAN_AUDIT_TRAILプロシージャをコールする間隔を設定します。

SET_PURGE_JOB_STATUSプロシージャ


指定したパージ・ジョブを使用可能または使用禁止にします。


このパッケージ内のすべてのサブプログラムのリストは、「DBMS_AUDIT_MGMTサブプログラムの要約」を参照してください。

DBMS_AUDIT_MGMTサブプログラムの要約

表29-7 DBMS_AUDIT_MGMTパッケージのサブプログラム

サブプログラム 説明

CLEAN_AUDIT_TRAILプロシージャ


アーカイブされた監査証跡レコードを削除します。

CLEAR_AUDIT_TRAIL_PROPERTYプロシージャ


指定した監査証跡プロパティの値を消去します。

CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャ


SET_LAST_ARCHIVE_TIMESTAMPプロシージャによって設定されたタイムスタンプを消去します。

CREATE_PURGE_JOBプロシージャ


定期的に監査証跡レコードを削除するパージ・ジョブを作成します。

DEINIT_CLEANUPプロシージャ


INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。

DROP_OLD_UNIFIED_AUDIT_TABLESプロシージャ


プラガブル・データベース(PDB)のクローニングの後の古い統合監査表を削除します。

DROP_PURGE_JOBプロシージャ


CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。

FLUSH_UNIFIED_AUDIT_TRAILプロシージャ


SGAキューにある統合監査証跡レコードをディスクに書き込みます。

GET_AUDIT_COMMIT_DELAYファンクション


監査のコミット遅延時間を秒数で戻します。これは、監査レコードをデータベース監査証跡にCOMMITするのにかかる最大時間です。

GET_ AUDIT_TRAIL_PROPERTY_VALUEファンクション


SET_AUDIT_TRAIL_PROPERTYプロシージャで設定されたプロパティ値を戻します。

GET_LAST_ARCHIVE_TIMESTAMPファンクション


データベース・インスタンスのSET_LAST_ARCHIVE_TIMESTAMPプロシージャで設定されたタイムスタンプを戻します。

INIT_CLEANUPプロシージャ


監査管理インフラストラクチャを設定し、監査証跡レコードのデフォルトのクリーンアップ間隔を設定します。

IS_CLEANUP_INITIALIZEDファンクション


監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。

LOAD_UNIFIED_AUDIT_FILESプロシージャ


統合監査証跡からあふれたOS監査ファイルのデータを、指定した統合監査証跡表領域にロードします。

SET_AUDIT_TRAIL_LOCATIONプロシージャ


現行の表領域からユーザー指定の表領域に監査証跡表を移動します。

SET_AUDIT_TRAIL_PROPERTYプロシージャ


指定した監査証跡タイプの監査証跡プロパティを設定します。

SET_LAST_ARCHIVE_TIMESTAMPプロシージャ


監査レコードが最後にアーカイブされた日時を示すタイムスタンプを設定します。

SET_PURGE_JOB_INTERVALプロシージャ


指定したパージ・ジョブでCLEAN_AUDIT_TRAILプロシージャをコールする間隔を設定します。

SET_PURGE_JOB_STATUSプロシージャ


指定したパージ・ジョブを使用可能または使用禁止にします。


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,
   container                IN PLS_INTEGER DEFAULT CONTAINER_CURRENT,
   database_id              IN NUMBER DEFAULT NULL,
   container_guid           IN VARCHAR2 DEFAULT NULL);

パラメータ

表29-8 CLEAN_AUDIT_TRAILプロシージャのパラメータ

パラメータ 説明

audit_trail_type

クリーンアップ操作を実行する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

use_last_arch_timestamp

削除対象となるレコードを決定するときに最終アーカイブ・タイムスタンプを使用するかどうかを指定します。

値がTRUEの場合は、最終アーカイブ・タイムスタンプより前に作成された監査レコードのみが削除されます。

値がFALSEの場合は、すべての監査レコードが削除されます。

デフォルト値はTRUEです。不注意によるレコードの削除を防止するため、この値を使用することをお薦めします。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合はすべてのPDBの監査証跡をパージし、それ以外の場合は接続されたPDBからのみパージします。

database_id

クリーンアップするSYS.AUD$およびSYS.FGA$の各監査レコードのデータベースID (DBID)。統合監査レコードには適用されません。

container_guid

クリーンアップする監査レコードのコンテナのGUID。統合監査レコードに適用されます。


使用上の注意

次の使用上の注意が適用されます。

  • オペレーティング・システム(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)を保持しています。このファイルは、クリーンアップ・プロシージャでは削除されません。

次の例では、最終アーカイブ・タイムスタンプより前に更新されたオペレーティング・システム(OS)監査証跡レコードをクリーンアップするために、CLEAN_AUDIT_TRAILプロシージャをコールしています。

BEGIN
DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(
   audit_trail_type         =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS,
   use_last_arch_timestamp  =>  TRUE);
END;

CLEAR_AUDIT_TRAIL_PROPERTYプロシージャ

このプロシージャは、指定した監査証跡プロパティの値を消去します。監査証跡プロパティは、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) ;

パラメータ

表29-9 CLEAR_AUDIT_TRAIL_PROPERTYプロシージャのパラメータ

パラメータ 説明

audit_trail_type

プロパティを消去する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

audit_trail_property

値を消去する必要がある監査証跡プロパティ。CLEANUP_INTERVALプロパティの値は消去できません。

監査証跡プロパティについては、表29-2「DBMS_AUDIT_MGMTの定数: 監査証跡プロパティ」を参照してください。

use_default_values

消去する値のかわりに、audit_trail_propertyのデフォルト値を使用するかどうかを指定します。値がTRUEの場合は、パラメータのデフォルト値が使用されます。値がFALSEの場合は、audit_trail_propertyに値が設定されません。

このパラメータのデフォルト値はFALSEです。


使用上の注意

次の使用上の注意が適用されます。

  • このプロシージャは、使用しない監査証跡プロパティの値を消去する場合に使用できます。たとえば、オペレーティング・システム監査ファイルのサイズを制限しない場合、このプロシージャを使用してOS_FILE_MAX_SIZEプロパティを再設定できます。

    また、このプロシージャを使用して、監査証跡プロパティをデフォルト値にリセットすることもできます。この場合、このプロシージャを起動するときに、use_default_valuesTRUEに設定する必要があります。

  • AUDIT_TRAIL_AUD_STD監査証跡タイプおよびAUDIT_TRAIL_FGA_STD監査証跡タイプに対しては、DB_DELETE_BATCH_SIZEプロパティを個別に消去する必要があります。AUDIT_TRAIL_DB_STD監査証跡タイプおよびAUDIT_TRAIL_ALL監査証跡タイプを使用して、このプロパティをまとめて消去することはできません。

  • use_default_valueFALSEに設定して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_valueFALSEに設定してFILE_DELETE_BATCH_SIZEプロパティの値を消去しても、FILE_DELETE_BATCH_SIZEのデフォルト値が想定されます。監査ファイルは常にバッチで削除されるためです。

  • CLEANUP_INTERVALプロパティの値は消去できません。

  • AUDIT_TRAIL_WRITE_MODEプロパティの値は消去できません。

次の例では、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;

CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャ

このプロシージャは、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,
   container                IN PLS_INTEGER DEFAULT CONTAINER_CURRENT,
   database_id              IN NUMBER DEFAULT NULL,
   container_guid           IN VARCHAR2 DEFAULT NULL);

パラメータ

表29-10 CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャのパラメータ

パラメータ 説明

audit_trail_type

タイムスタンプを消去する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

rac_instance_number

Oracle Real Application Clusters(Oracle RAC)インスタンスのインスタンス番号。デフォルト値はNULLです。シングル・インスタンス・データベースでは、rac_instance_numberは関係がありません。インスタンス番号を調べるには、SQL*PlusでSHOW PARAMETER INSTANCE_NUMBERコマンドを発行します。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合はすべてのPDBから最終アーカイブ・タイムスタンプを消去し、それ以外の場合は接続されたPDBからのみ消去します。

database_id

クリーンアップする監査レコードのデータベースID (DBID)

container_guid

クリーンアップする監査レコードのコンテナのGUID


使用上の注意

次の使用上の注意が適用されます。

  • 一度に消去できるのは、1つのaudit_trail_typeのタイムスタンプのみです。

  • 次の値はこのプロシージャでは無効なaudit_trail_type値であり、使用できません。

    • AUDIT_TRAIL_ALL

    • AUDIT_TRAIL_DB_STD

    • AUDIT_TRAIL_FILES

次の例では、オペレーティング・システム(OS)監査証跡タイプのタイムスタンプ値を消去するために、CLEAR_LAST_ARCHIVE_TIMESTAMPプロシージャをコールしています。

BEGIN
DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP(
   audit_trail_type     =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS,
   rac_instance_number  =>  1);
END;

CREATE_PURGE_JOBプロシージャ

このプロシージャは、定期的に監査証跡レコードを削除するパージ・ジョブを作成します。

このプロシージャは、ユーザーが指定した間隔でクリーンアップ操作を実行します。クリーンアップ操作を実行するために、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,
   container                   IN PLS_INTEGER DEFAULT CONTAINER_CURRENT) ;

パラメータ

表29-11 CREATE_PURGE_JOBプロシージャのパラメータ

パラメータ 説明

audit_trail_type

パージ・ジョブを作成する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

audit_trail_purge_interval

クリーンアップ・プロシージャがコールされる間隔(時間単位)。値が小さいほど頻繁にクリーンアップが実行されます。

audit_trail_purge_name

パージ・ジョブを識別する名前。

use_last_arch_timestamp

削除対象となるレコードを決定するときに最終アーカイブ・タイムスタンプを使用するかどうかを指定します。

値がTRUEの場合は、最終アーカイブ・タイムスタンプより前に作成された監査レコードのみが削除されます。

値がFALSEの場合は、すべての監査レコードが削除されます。

デフォルト値はTRUEです。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合、ルートPDBに1つのジョブが作成され、このジョブの起動によってすべてのPDBでクリーンアップが実行されます。


使用上の注意

このプロシージャを使用して、監査証跡レコードに対してCLEAN_AUDIT_TRAILプロシージャをスケジュールします。

次の例では、すべての監査証跡タイプに対して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;

DEINIT_CLEANUPプロシージャ

このプロシージャは、INIT_CLEANUPプロシージャによって実行された設定および初期化を元に戻します。DEINIT_CLEANUPプロシージャは、default_cleanup_intervalパラメータの値を消去します。ただし、監査表に使用した場合は、監査証跡表を元の表領域に戻しません。

構文

DBMS_AUDIT_MGMT.DEINIT_CLEANUP(
   audit_trail_type  IN PLS_INTEGER, 
   container         IN PLS_INTEGER DEFAULT CONTAINER_CURRENT);

パラメータ

表29-12 DEINIT_CLEANUPプロシージャのパラメータ

パラメータ 説明

audit_trail_type

プロシージャをコールする必要がある監査証跡タイプ。

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合はすべてのPDBの監査証跡をパージし、それ以外の場合は接続されたPDBからのみパージします。


使用上の注意

このプロシージャは、AUDIT_TRAIL_UNIFIEDに対して起動できません。起動すると、「ORA-46250 : Invalid value for argument 'AUDIT_TRAIL_TYPE'」エラーが発生します。

次の例では、標準データベース監査証跡のdefault_cleanup_intervalパラメータの設定を消去しています。

BEGIN
DBMS_AUDIT_MGMT.DEINIT_CLEANUP(
  AUDIT_TRAIL_TYPE  => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD);
END;

DROP_OLD_UNIFIED_AUDIT_TABLESプロシージャ

このプロシージャは、プラガブル・データベース(PDB)のクローニングの後の古い統合監査表を削除します。

構文

DBMS_AUDIT_MGMT.DROP_OLD_UNIFIED_AUDIT_TABLES(
   container_guid    IN VARCHAR2) ;

パラメータ

表29-13 DROP_OLD_UNIFIED_AUDIT_TABLESプロシージャのパラメータ

パラメータ 説明

container_guid

古い統合監査表のコンテナのGUID


使用上の注意

プラガブル・データベースがクローニングされると、統合監査表が新しいプラガブル・データベースで新規に作成されます。古い統合監査表を削除するには、クローニングの作成元となったPDBの古いGUIDを指定して、DROP_OLD_UNIFIED_AUDIT_TABLESを使用します。指定したPDBのDBA_PDB_HISTORYビューからGUIDの履歴を問い合せることができます。

BEGIN
    DBMS_AUDIT_MGMT.DROP_OLD_UNIFIED_AUDIT_TABLES ( 
      container_guid => 'E4721865A9321CB5E043EFA9E80A2D77'); 
END;

DROP_PURGE_JOBプロシージャ

このプロシージャは、CREATE_PURGE_JOBプロシージャを使用して作成されたパージ・ジョブを削除します。パージ・ジョブの名前を引数として渡します。

構文

DBMS_AUDIT_MGMT.DROP_PURGE_JOB(
   audit_trail_purge_name    IN VARCHAR2) ;

パラメータ

表29-14 DROP_PURGE_JOBプロシージャのパラメータ

パラメータ 説明

audit_trail_purge_name

削除されるパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。


次の例では、DROP_PURGE_JOBプロシージャを呼び出してパージ・ジョブCLEANUPを削除します。

BEGIN
DBMS_AUDIT_MGMT.DROP_PURGE_JOB(
  AUDIT_TRAIL_PURGE_NAME  => 'CLEANUP');
END;

FLUSH_UNIFIED_AUDIT_TRAILプロシージャ

このプロシージャは、SGAキューにある統合監査証跡レコードをディスクに書き込みます。

構文

DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAIL (
   flush_type      IN BINARY_INTEGER   DEFAULT FLUSH_CURRENT_INSTANCE,
   container       IN BINARY_INTEGER   DEFAULT CONTAINER_CURRENT);

パラメータ

表29-15 FLUSH_UNIFIED_AUDIT_TRAILプロシージャのパラメータ

パラメータ 説明

flush_type

このパラメータは、次のいずれかの引数をとります。

  • FLUSH_CURRENT_INSTANCE: その特定のRACインスタンスでSGAキューから監査レコードをフラッシュします。

  • FLUSH_ALL_INSTANCES: すべてのRACインスタンスでSGAキューから監査レコードをフラッシュします。

container

SGAキューがフラッシュされるコンテナ。このパラメータは、次のいずれかの引数をとります。

  • CONTAINER_CURRENT: その特定のPDBでSGAキューから監査レコードをフラッシュします。

  • CONTAINER_ALL: すべてのアクティブなPDBでSGAキューから監査レコードをフラッシュします。


GET_AUDIT_COMMIT_DELAYファンクション

このファンクションは、監査のコミット遅延時間を秒数で戻します。監査のコミット遅延時間は、監査レコードをデータベース監査証跡にCOMMITするのにかかる最大時間です。監査レコードのコミットに、監査のコミット遅延時間で定義された値よりも長い時間がかかる場合、監査レコードのコピーがオペレーティング・システム(OS)監査証跡に書き込まれます。

監査のコミット遅延時間の値は、データベース監査レコードの最終アーカイブ・タイムスタンプを決定する場合に役立ちます。

構文

DBMS_AUDIT_MGMT.GET_AUDIT_COMMIT_DELAY
  RETURN NUMBER;

GET_ AUDIT_TRAIL_PROPERTY_VALUEファンクション

このプロシージャは、SET_AUDIT_TRAIL_PROPERTYプロシージャで設定されたプロパティ値を戻します。

構文

DBMS_AUDIT_MGMT.GET_LAST_ARCHIVE_TIMESTAMP(
   audit_trail_type         IN PLS_INTEGER,
   audit_trail_property     IN PLS_INTEGER)
 RETURN NUMBER;

パラメータ

表29-16 GET_ AUDIT_TRAIL_PROPERTY_VALUEファンクションのパラメータ

パラメータ 説明

audit_trail_type

取得するタイムスタンプの監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

audit_trail_property

問合せの実行対象の監査証跡プロパティ。監査証跡プロパティの詳細は、表29-2「DBMS_AUDIT_MGMTの定数: 監査証跡プロパティ」を参照してください。


戻り値

プロパティ値がSGAメモリー内にキャッシュされる場合、このファンクションは、SET_AUDIT_TRAIL_PROPERTY Procedureで設定された値を戻します。それ以外の場合、NULLを戻します。

次の例では、SET_AUDIT_TRAIL_PROPERTYプロシージャで設定されたOS_FILE_MAX_AGEのプロパティ値を出力します。

SET_AUDIT_TRAIL_PROPERTY.
SET SERVEROUTPUT ON
DECLARE
 OS_MAX_AGE_VAL NUMBER;
BEGIN
 OS_MAX_AGE_VAL := DBMS_AUDIT_MGMT.GET_AUDIT_TRAIL_PROPERTY_VALUE(
      audit_trail_type          => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS,
      audit_trail_property      => DBMS_AUDIT_MGMT. OS_FILE_MAX_AGE);
 IF OS_MAX_AGE_VAL is not NULL THEN
  DBMS_OUTPUT.PUT_LINE('The Maximum Age configured for OS Audit files is: ' ||
                       OS_MAX_AGE_VAL);
 END IF;
END;

GET_LAST_ARCHIVE_TIMESTAMPファンクション

このプロシージャは、データベース・インスタンスのSET_LAST_ARCHIVE_TIMESTAMPプロシージャで設定されたタイムスタンプを戻します。

構文

DBMS_AUDIT_MGMT.GET_LAST_ARCHIVE_TIMESTAMP(
   audit_trail_type     IN PLS_INTEGER)
 RETURN TIMESTAMP;

パラメータ

例29-17 GET_LAST_ARCHIVE_TIMESTAMPファンクションのパラメータ

パラメータ 説明

audit_trail_type

取得するタイムスタンプの監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。


戻り値

READ WRITEでオープンしているデータベースには、SGAメモリーに格納済のタイムスタンプがないので、このファンクションはNULLを戻します。ただし、READ ONLYでオープンしているデータベースでは、タイムスタンプがSET_LAST_ARCHIVE_TIMESTAMPプロシージャで設定されている場合、タイムスタンプを戻します。それ以外の場合、NULLを戻します。

使用上の注意

このファンクションは、READ WRITEでオープンしているデータベースに対しては、NULLを戻します。この場合、DBA_AUDIT_MGMT_LAST_ARCH_TSビューを使用して、タイムスタンプをチェックします。

次の例では、READ ONLYのデータベースにSET_LAST_ARCHIVE_TIMESTAMPプロシージャで設定されたタイムスタンプを出力します。

SET SERVEROUTPUT ON
DECLARE
 LAT_TS TIMESTAMP;
BEGIN
 LAT_TS := DBMS_AUDIT_MGMT.GET_LAST_ARCHIVE_TIMESTAMP(
      audit_trail_type          => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS);
 IF LAT_TS is not NULL THEN
  DBMS_OUTPUT.PUT_LINE('The Last Archive Timestamp is: ' || to_char(LAT_TS));
 END IF;
END;

INIT_CLEANUPプロシージャ

このプロシージャは、監査管理インフラストラクチャを設定し、監査証跡レコードのデフォルトのクリーンアップ間隔を設定します。監査証跡表がSYSTEM表領域にある場合、プロシージャによってSYSAUX表領域に移動されます。統合監査を使用している場合は、このプロシージャを実行する必要はありません。統合監査証跡表は、SYSAUX表領域にデフォルトで存在するからです。統合監査を使用していない場合は、総合監査なしで環境を参照するドキュメントについて、『Oracle Databaseアップグレード・ガイド』を参照してください。

監査証跡表をSYSTEM表領域から移動すると、データベース全体のパフォーマンスが向上します。監査証跡表は、INIT_CLEANUPプロシージャによってSYSAUX表領域に移動されます。監査表がSET_AUDIT_TRAIL_LOCATIONプロシージャによって他の場所にすでに移動されている場合、表は移動されません。

SET_AUDIT_TRAIL_LOCATIONプロシージャでは、データベース監査表の代替ターゲット表領域を指定できます。

INIT_CLEANUPプロシージャは、現時点では、AUDIT_TRAIL_OSAUDIT_TRAIL_XMLおよびAUDIT_TRAIL_FILES監査証跡タイプには関係ありません。これらの監査証跡タイプに、事前設定は必要ありません。


関連項目:

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

このプロシージャは、監査証跡レコードのデフォルトのクリーンアップ間隔も設定します。

構文

DBMS_AUDIT_MGMT.INIT_CLEANUP(
   audit_trail_type          IN PLS_INTEGER,
   default_cleanup_interval  IN PLS_INTEGER
   container                 IN PLS_INTEGER DEFAULT CONTAINER_CURRENT);

パラメータ

表29-18 INIT_CLEANUPプロシージャのパラメータ

パラメータ 説明

audit_trail_type

クリーンアップ操作を初期化する必要がある監査証跡タイプ。

AUDIT_TRAIL_UNIFIED以外の監査証跡タイプは、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」で説明されています。

default_cleanup_interval

クリーンアップ・プロシージャがコールされるデフォルトの間隔(時間単位)。最小値は1、最大値は999です。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合はすべてのプラガブル・データベースでクリーンアップのために監査証跡を初期化し、それ以外の場合は接続されたPDBでのみ監査証跡を初期化します。


使用上の注意

次の使用上の注意が適用されます。

  • このプロシージャでは、表領域間のデータ移動が発生する可能性があります。特に、データベース監査証跡表への移入がすでに行われている場合、この操作によってリソースが集中的に使用される可能性があります。このプロシージャは、オフピークの時間帯に起動することをお薦めします。

  • 監査証跡表の移動先のSYSAUX表領域に、監査証跡表に対応する十分な領域があることを確認してください。また、頻繁な書込み操作を行うために、SYSAUX表領域を最適化する必要があります。

  • default_cleanup_intervalは、SET_AUDIT_TRAIL_PROPERTYプロシージャを使用して後で変更できます。

  • 監査証跡表をSYSAUX表領域に移動しない場合は、INIT_CLEANUPプロシージャをコールする前に、DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATIONプロシージャを使用して、監査証跡表を別の表領域に移動する必要があります。

  • このプロシージャをAUDIT_TRAIL_UNIFIEDに対して起動すると、ORA-46250エラーが発生します。デフォルトでクリーンアップが実行可能なため、クリーンアップ用の初期化を行う必要はありません。

次の例では、すべての監査証跡タイプに対してdefault_cleanup_intervalを12時間に設定するために、INIT_CLEANUPプロシージャをコールしています。

BEGIN
DBMS_AUDIT_MGMT.INIT_CLEANUP(
              audit_trail_type   => DBMS_AUDIT_MGMT.AUDIT_TRAIL_ALL,
      default_cleanup_interval   => 12 /* hours */);
END;

関連項目:

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

IS_CLEANUP_INITIALIZEDファンクション

このファンクションは、監査証跡タイプに対してINIT_CLEANUPプロシージャが実行されたかどうかを確認します。監査証跡タイプに対してこのプロシージャがすでに実行されている場合、IS_CLEANUP_INITIALIZEDファンクションはTRUEを戻します。監査証跡タイプに対してこのプロシージャが実行されていない場合は、FALSEを戻します。

このファンクションは、現時点では、AUDIT_TRAIL_OSAUDIT_TRAIL_XMLおよびAUDIT_TRAIL_FILES監査証跡タイプには関係ありません。これらの監査証跡タイプに対しては、常にTRUEを戻します。これらの監査証跡タイプに、事前設定は必要ありません。


関連項目:

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

構文

DBMS_AUDIT_MGMT.IS_CLEANUP_INITIALIZED(
   audit_trail_type  IN PLS_INTEGER
   container         IN PLS_INTEGER DEFAULT CONTAINER_CURRENT)
 RETURN BOOLEAN;

パラメータ

表29-19 IS_CLEANUP_INITIALIZEDファンクションのパラメータ

パラメータ 説明

audit_trail_type

ファンクションをコールする必要がある監査証跡タイプ。AUDIT_TRAIL_UNIFIEDには当てはまらないことに注意してください。

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。

  • CONTAINERCONTAINER_ALLに設定されている場合、このファンクションはすべてのプラガブル・データベースの初期化ステータスを返します。このファンクションは、初期化されていないPDBが1つでもあればFALSEを戻します。

  • CONTAINERCONTAINER_CURRENTに設定されている場合、接続されたPDBの初期化ステータスを戻します。


次の例では、クリーンアップ操作のために標準データベース監査証跡タイプが初期化されているかどうかを確認しています。監査証跡タイプが初期化されていない場合は、初期化するために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;

LOAD_UNIFIED_AUDIT_FILESプロシージャ

このプロシージャは、統合監査証跡からあふれたOS監査ファイルのデータを、指定した統合監査証跡表領域にロードします。


関連項目:

OS監査証跡レコードの統合監査証跡への移動については、『Oracle Databaseセキュリティ・ガイド』を参照してください。

構文

DBMS_AUDIT_MGMT.LOAD_UNIFIED_AUDIT_FILES (
   container       IN BINARY_INTEGER);

パラメータ

表29-20 LOAD_UNIFIED_AUDIT_FILESプロシージャのパラメータ

パラメータ 説明

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。

  • CONTAINER_CURRENT: 統合監査ファイルを$ORACLE_BASE/audit/$ORACLE_SID OSディレクトリから現在のPDBの表にのみロードします。

  • CONTAINER_ALL: 統合監査ファイルを$ORACLE_BASE/audit/$ORACLE_SID OSディレクトリから各PDBの表にロードしますが、すべてのアクティブなPDBが対象です。


SET_AUDIT_TRAIL_LOCATIONプロシージャ

このプロシージャは、現行の表領域からユーザー指定の表領域に監査証跡表を移動します。

SET_AUDIT_TRAIL_LOCATIONプロシージャは、AUDIT_TRAIL_OSAUDIT_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) ;

パラメータ

表29-21 SET_AUDIT_TRAIL_LOCATIONプロシージャのパラメータ

パラメータ 説明

audit_trail_type

監査証跡位置を設定する必要がある監査証跡タイプ。

監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

audit_trail_location_value

監査証跡レコードの移動先または表領域。


使用上の注意

次の使用上の注意が適用されます。

  • このプロシージャでは、表領域間のデータ移動が発生します。特に、データベース監査証跡表への移入がすでに行われている場合、この操作によってリソースが集中的に使用される可能性があります。このプロシージャは、オフピークの時間帯に起動することをお薦めします。

  • 監査証跡表の移動先のターゲット表領域に、監査証跡表に対応する十分な領域があることを確認してください。また、頻繁な書込み操作を行うために、ターゲット表領域を最適化する必要があります。

  • このプロシージャは、次のaudit_trail_type値に対してのみ有効です。

    • AUDIT_TRAIL_AUD_STD

    • AUDIT_TRAIL_FGA_STD

    • AUDIT_TRAIL_DB_STD

  • オプションで、監査証跡位置として暗号化された表領域を指定できます。

    AUDIT_TRAIL_TYPEAUDIT_TRAIL_UNIFIEDの場合、このプロシージャによって統合監査証跡内の新しい監査レコードの表領域が設定されますが、古い監査レコードは移動されません。つまり、統合監査証跡では、リソースが集中的に使用されることはありません。

次の例では、データベース監査証跡表AUD$およびFGA_LOG$を、現行の表領域からユーザー作成の表領域RECORDSに移動しています。

BEGIN
DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(
       audit_trail_type            => DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD,
       audit_trail_location_value  =>  'RECORDS');
END;

SET_AUDIT_TRAIL_PROPERTYプロシージャ

このプロシージャは、指定した監査証跡タイプの監査証跡プロパティを設定します。

オペレーティング・システム(OS)監査証跡タイプおよびXML監査証跡タイプに対しては、OS_FILE_MAX_SIZEOS_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) ;

パラメータ

表29-22 SET_AUDIT_TRAIL_PROPERTYプロシージャのパラメータ

パラメータ 説明

audit_trail_type

プロパティを設定する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

audit_trail_property

設定される監査証跡プロパティ。監査証跡プロパティについては、表29-2「DBMS_AUDIT_MGMTの定数: 監査証跡プロパティ」を参照してください。

audit_trail_property_value

audit_trail_propertyを使用して指定されるプロパティの値。監査証跡プロパティの有効な値は、次のとおりです。

  • OS_FILE_MAX_SIZE: 最小値は1、最大値は2000000です。デフォルト値は10000です。OS_FILE_MAX_SIZEはキロバイト(KB)単位で測定されます。

  • OS_FILE_MAX_AGE: 最小値は1、最大値は497です。デフォルト値は5です。OS_FILE_MAX_AGEは日数で測定されます。

  • DB_DELETE_BATCH_SIZE: 最小値は100、最大値は1000000です。デフォルト値は10000です。DB_DELETE_BATCH_SIZEは、1つのバッチで削除される監査レコードの数として測定されます。

  • FILE_DELETE_BATCH_SIZE: 最小値は100、最大値は1000000です。デフォルト値は1000です。FILE_DELETE_BATCH_SIZEは、1つのバッチで削除される監査ファイルの数として測定されます。

  • CLEANUP_INTERVAL: 最小値は1、最大値は999です。デフォルト値はINIT_CLEANUPプロシージャを使用して設定されます。CLEANUP_INTERVALは時間単位で測定されます。


使用上の注意

次の使用上の注意が適用されます。

  • 値を明示的に設定しない監査証跡プロパティでは、デフォルト値が使用されます。

  • 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バックグラウンド・プロセスが長時間実行される場合があります。

  • Oracle Database Standard Editionでは、統合監査の表領域は1回のみ関連付けることができます。統合監査証跡内では、監査レコードを生成する前にこの関連付けを行う必要があります。デフォルトの表領域はSYSAUXです。関連付け後は、Standard Editionで表領域を変更することはできません。これは、パーティション化機能がStandard Editionでサポートされていないためです。

次の例では、オペレーティング・システム(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;

SET_LAST_ARCHIVE_TIMESTAMPプロシージャ

このプロシージャは、監査レコードが最後にアーカイブされた日時を示すタイムスタンプを設定します。監査管理者は、監査レコードに連結するタイムスタンプを設定します。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,
   container                IN PLS_INTEGER DEFAULT CONTAINER_CURRENT,
   database_id              IN NUMBER DEFAULT NULL,
   container_guid           IN VARCHAR2 DEFAULT NULL);

パラメータ

表29-23 SET_LAST_ARCHIVE_TIMESTAMPプロシージャのパラメータ

パラメータ 説明

audit_trail_type

タイムスタンプを設定する必要がある監査証跡タイプ。監査証跡タイプについては、表29-1「DBMS_AUDIT_MGMTの定数: 監査証跡タイプ」を参照してください。

last_archive_time

削除される監査レコードまたはファイルに基づくTIMESTAMP値。これは、監査レコードまたはファイルが最後にアーカイブされた日時を示します。

rac_instance_number

Oracle Real Application Clusters(Oracle RAC)インスタンスのインスタンス番号。デフォルト値はNULLです。

データベース監査証跡表がすべてのOracle RACインスタンスで共有されるため、rac_instance_numberはデータベース監査証跡タイプには関係ありません。シングル・インスタンス・データベースでは、rac_instance_numberも関係がありません。

container

値は、接続されたプラガブル・データベース(PDB)の場合はCONTAINER_CURRENT、すべてのプラガブル・データベース(PDB)の場合はCONTAINER_ALLです。CONTAINERCONTAINER_ALLに設定されている場合はすべてのプラガブル・データベースで最終アーカイブ・タイムスタンプの値を設定し、それ以外の場合は接続されたPDBでのみ値を設定します。

database_id

クリーンアップする監査レコードのデータベースID (DBID)

container_guid

クリーンアップする監査レコードのコンテナのGUID


使用上の注意

次の使用上の注意が適用されます。

  • 監査証跡タイプがAUDIT_TRAIL_AUD_STDAUDIT_TRAIL_FGA_STDまたはAUDIT_TRAIL_UNIFIEDの場合、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_timestampTRUEに設定した状態でその後にCLEAN_AUDIT_TRAILプロシージャをコールすると、2012年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('12-SEP-0714:10:10.0','DD-MON-RRHH24:MI:SS.FF'),
   rac_instance_number  => 1);
END;

SET_PURGE_JOB_INTERVALプロシージャ

このプロシージャは、指定したパージ・ジョブで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) ;

パラメータ

表29-24 SET_PURGE_JOB_INTERVALプロシージャのパラメータ

パラメータ 説明

audit_trail_purge_name

間隔を設定するパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。

audit_trail_interval_value

クリーンアップ・プロシージャがコールされる間隔(時間単位)。この値によって、CREATE_PURGE_JOBプロシージャで設定されたaudit_trail_purge_intervalパラメータは変更されます。


使用上の注意

このプロシージャを使用して、CREATE_PURGE_JOBプロシージャで設定されたaudit_trail_purge_intervalパラメータを変更します。

次の例では、CLEANUPという名前のパージ・ジョブを起動する頻度を変更するために、SET_PURGE_JOB_INTERVALプロシージャをコールしています。新しい間隔は24時間に設定されています。

BEGIN
DBMS_AUDIT_MGMT.SET_PURGE_JOB_INTERVAL(
  AUDIT_TRAIL_PURGE_NAME       => 'CLEANUP',
  AUDIT_TRAIL_INTERVAL_VALUE   => 24 );
END;

SET_PURGE_JOB_STATUSプロシージャ

このプロシージャは、指定したパージ・ジョブを使用可能または使用禁止にします。このパージ・ジョブは、CREATE_PURGE_JOBプロシージャを使用して作成済である必要があります。

構文

DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS(
   audit_trail_purge_name    IN VARCHAR2,
   audit_trail_status_value  IN PLS_INTEGER) ;

パラメータ

表29-25 SET_PURGE_JOB_STATUSプロシージャのパラメータ

パラメータ 説明

audit_trail_purge_name

ステータスを設定するパージ・ジョブの名前。この名前は、CREATE_PURGE_JOBプロシージャで指定したパージ・ジョブの名前です。

audit_trail_status_value

「DBMS_AUDIT_MGMTの定数: パージ・ジョブ・ステータス」で指定されている値の1つ。

PURGE_JOB_ENABLEによって、指定したパージ・ジョブが使用可能になります。

PURGE_JOB_DISABLEによって、指定したパージ・ジョブが使用禁止になります。


次の例では、CLEANUPパージ・ジョブを使用可能にするために、SET_PURGE_JOB_STATUSプロシージャをコールしています。

BEGIN
DBMS_AUDIT_MGMT.SET_PURGE_JOB_STATUS(
  audit_trail_purge_name      => 'CLEANUP',
  audit_trail_status_value    => DBMS_AUDIT_MGMT.PURGE_JOB_ENABLE);
END;