監査情報の保存場所
データベースに対するSQL文のアクセス履歴である「監査」の情報は、複数の場所に保存されます。Oracle Database 11gまでのデフォルト機能である標準監査機能では、ファイルシステム上のファイル(テキスト形式、XML形式)またはテーブル(SYS.AUD\$テーブル)に保存できます。ファイン・グレイン監査の情報はSYS.FGA_LOG\$テーブルに保存されます。
Oracle Database 12cの新機能である統合監査の情報はAUDSYS.AUD\$UNIFIEDテーブルに保存されます。このテーブルの実態はパーティション・テーブルであり、
各パーティションはSYSAUX表領域に作成されます。
推奨設定
orachkユーティリティではAUD\$テーブルおよびFGA_LOG\$テーブルを保存する表領域はSEGMENT SPACE MANAGEMENT AUTO属性を指定することが推奨されます。しかし、Oracle Database 12c Release 2環境でdbcaコマンドを使って作成されるSYSTEM表領域はSEGMENT SPACE MANAGEMENT MANUALになっています。このためSYSAUX表領域等へ移動することが推奨されます。
SQL> SELECT TABLESPACE_NAME, SEGMENT_SPACE_MANAGEMENT FROM DBA_TABLESPACES ;
TABLESPACE_NAME SEGMEN
------------------------------ ------
SYSTEM MANUAL
SYSAUX AUTO
UNDOTBS1 MANUAL
TEMP MANUAL
USERS AUTO
テーブルが保存される表領域の移動
監査データの管理にはDBMS_AUDIT_MGMTパッケージを使います。
現在の定義情報の確認
監査テーブルの保存場所はDBA_AUDIT_MGMT_CONFIG_PARAMSビューを参照することで取得できます。下記の例では、標準監査テーブル(STANDARD AUDIT TRAIL)やファイングレイン監査テーブル(FGA AUDIT TRAIL)のデータはSYSTEM表領域に保存されていることがわかります。
SQL> SELECT * FROM DBA_AUDIT_MGMT_CONFIG_PARAMS ;
PARAMETER_NAME PARAMETER_VALUE AUDIT_TRAIL
------------------------------ ------------------------------ ----------------------------
DB AUDIT TABLESPACE SYSTEM STANDARD AUDIT TRAIL
DB AUDIT TABLESPACE SYSTEM FGA AUDIT TRAIL
DB AUDIT TABLESPACE SYSAUX UNIFIED AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 OS AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 XML AUDIT TRAIL
AUDIT FILE MAX AGE 5 OS AUDIT TRAIL
AUDIT FILE MAX AGE 5 XML AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 STANDARD AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 FGA AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 OS AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 XML AUDIT TRAIL
AUDIT WRITE MODE QUEUED WRITE MODE UNIFIED AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 UNIFIED AUDIT TRAIL
AUDIT FILE MAX AGE 5 UNIFIED AUDIT TRAIL
表領域の移動
テーブルの格納表領域を移動するにはSET_AUDIT_TRAIL_LOCATIONプロシージャを実行します。
最初のパラメーターには移動元となるのテーブルの種類を指定します。以下の値を指定できます。
定数 | 説明 | テーブル名 | 備考 |
---|---|---|---|
AUDIT_TRAIL_AUD_STD | 標準監査テーブル | AUD\$ | |
AUDIT_TRAIL_DB_STD | 標準監査とファイングレイン監査 | AUD\$, FGA_LOG\$ | |
AUDIT_TRAIL_FGA_STD | ファイングレイン監査 | FGA_LOG\$ |
次のパラメーターには移動先の表領域名を指定します。
下記の例では、標準監査データとファイン・グレイン監査データの両方をSYSAUX表領域に移動しています。
SQL> EXEC DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION( DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD, 'SYSAUX') ;
PL/SQLプロシージャが正常に完了しました。
SQL> SELECT * FROM DBA_AUDIT_MGMT_CONFIG_PARAMS ;
PARAMETER_NAME PARAMETER_VALUE AUDIT_TRAIL
------------------------------ ------------------------------ ----------------------------
DB AUDIT TABLESPACE SYSAUX STANDARD AUDIT TRAIL
DB AUDIT TABLESPACE SYSAUX FGA AUDIT TRAIL
DB AUDIT TABLESPACE SYSAUX UNIFIED AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 OS AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 XML AUDIT TRAIL
AUDIT FILE MAX AGE 5 OS AUDIT TRAIL
AUDIT FILE MAX AGE 5 XML AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 STANDARD AUDIT TRAIL
DB AUDIT CLEAN BATCH SIZE 10000 FGA AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 OS AUDIT TRAIL
OS FILE CLEAN BATCH SIZE 1000 XML AUDIT TRAIL
AUDIT WRITE MODE QUEUED WRITE MODE UNIFIED AUDIT TRAIL
AUDIT FILE MAX SIZE 10000 UNIFIED AUDIT TRAIL
AUDIT FILE MAX AGE 5 UNIFIED AUDIT TRAIL