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監査ファイルを作成したマシンのタイムゾーンである必要があります。これは、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;