SET_LAST_ARCHIVE_TIMESTAMP プロシージャは、監査レコードの最終アーカイブ時刻を示すタイムスタンプを設定します。監査管理者は、監査レコードにタイムスタンプを追加します。CLEAN_AUDIT_TRAIL プロシージャは、このタイムスタンプを使用して削除する監査レコードを決定します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
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);
パラメータ説明
パラメータ |
説明 |
|---|---|
| audit_trail_type | 作成するクリーンアップジョブの監査トレイルタイプを指定します。監査トレイルタイプについては、DBMS_AUDIT_MGMT 監査トレイルタイプを参照してください。 |
| last_archive_time | 監査レコードまたはファイルを削除すべき TIMESTAMP 値です。この値は、最後に監査レコードまたはファイルがアーカイブされた時刻を表します。 |
| rac_instance_number | インスタンス番号を指定します。デフォルト値は NULL です。audit_trail_type が以下の値の場合、rac_instance_number パラメータは受け付けられません:
rac_instance_number を1に設定します。 |
使用方法
監査トレイルタイプが AUDIT_TRAIL_AUD_STD の場合、last_archive_time にはUTC時間を指定する必要があります。これは、データベースの監査トレイルがUTC形式でタイムスタンプを格納するためです。UTCはグリニッジ標準時(GMT)とも呼ばれます。
監査トレイルタイプが AUDIT_TRAIL_OS の場合、last_archive_time には現地のタイムゾーン時間を指定する必要があります。タイムゾーンは、OS監査ファイルを作成したマシンのタイムゾーンである必要があります。これは、オペレーティングシステムの監査ファイルが、監査ファイルのLast Modification Timestampプロパティに基づいてクリーンアップされるためです。Last Modification Timestampプロパティの値は、マシンの現地タイムゾーンで保存されます。
例
以下の例では、SET_LAST_ARCHIVE_TIMESTAMP プロシージャを呼び出して、データベースの特定のインスタンス上のOS(オペレーティングシステム)監査トレイルタイプの最終アーカイブタイムスタンプを設定し、TO_TIMESTAMP 関数を使用して文字列をタイムスタンプ値に変換します。
その後、CLEAN_AUDIT_TRAIL プロシージャを呼び出し、use_last_arch_timestamp を TRUE に設定することで、現在のディレクトリから2021年11月11日11:11:11.11より前に変更されたすべてのOS監査ファイルを削除します。
BEGIN
DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_OS,
last_archive_time => TO_TIMESTAMP ('2021-11-11 11:11:11.11', 'YYYY-MM-DD HH24:MI:SS.FF')
rac_instance_number => 1);
END;