Data Pumpによる統合監査テーブルのエクスポートを試す（Oracle Database 18c-)

# 監査データのエクスポート

Data Pumpを使って監査データのみをエクスポートする場合、FULL=Yパラメーターと共にINCLUDE=AUDIT_TRAILSを指定します。Oracle Database 18cでは、Oracle Database 12cから採用された統合監査のデータをエクスポート／インポートすることができるようになりました。

# Oracle Database 12cでは
Oracle Database 12cでもこのパラメーターは指定できますが、統合監査のテーブルは含まれません。
下記の例では標準監査テーブルであるSYS.AUD\$がエキスポートされています。ファイングレイン監査テーブルであるSYS.FGA_AUD\$テーブルは含まれていませんが、SYS.FGA_LOG\$FOR_EXPORTテーブルが含まれていることから、エクスポート時に変換されていると思われます。

```
C:\> expdp userid=SYSTEM/***** full=y include=AUDIT_TRAILS directory=data_pump_dir dumpfile=full.dmp

Export: Release 12.2.0.1.0 - Production on 月 10月 28 10:52:11 2019

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

接続先: Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
"SYSTEM"."SYS_EXPORT_FULL_01"を起動しています: userid=SYSTEM/******** full=y include=AUDIT_TRAILS directory=data_pump_dir dumpfile=full.dmp
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATAの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中です
オブジェクト型DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKERの処理中です
. . "SYS"."KU$_USER_MAPPING_VIEW"               6.070 KB      36行がエクスポートされました
. . "SYS"."DAM_CONFIG_PARAM$"                   6.531 KB      14行がエクスポートされました
. . "SYS"."AUD$"                                    0 KB       0行がエクスポートされました
. . "SYS"."DAM_CLEANUP_EVENTS$"                     0 KB       0行がエクスポートされました
. . "SYS"."DAM_CLEANUP_JOBS$"                       0 KB       0行がエクスポートされました
. . "SYS"."AUDTAB$TBS$FOR_EXPORT"               5.953 KB       2行がエクスポートされました
. . "SYS"."FGA_LOG$FOR_EXPORT"                      0 KB       0行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_FULL_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_FULL_01に設定されたダンプ・ファイルは次のとおりです:
  D:\APP\ORACLE\ADMIN\O12A\DPDUMP\FULL.DMP
ジョブ"SYSTEM"."SYS_EXPORT_FULL_01"が月 10月 28 10:53:38 2019 elapsed 0 00:01:22で正常に完了しました
```

# Oracle Database 19cでは
Oracle Database 18c以降は統合監査が格納されるテーブルが含まれるようになります。下記はOracle Database 19cの例ですが、テーブル名にAUDSYS.AUD$UNIFIEDが含まれていることがわかります。

```
$ expdp userid=SYSTEM/***** full=y include=AUDIT_TRAILS directory=DATA_PUMP_DIR dumpfile=audit.dmp

Export: Release 19.0.0.0.0 - Production on 日 10月 27 21:41:30 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_FULL_01"を起動しています: userid=SYSTEM/******** full=y include=AUDIT_TRAILS directory=DATA_PUMP_DIR dumpfile=audit.dmp
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATAの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中 です
オブジェクト型DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKERの処理中です
. . "SYS"."KU$_USER_MAPPING_VIEW"               6.125 KB      41行がエクスポートされました
. . "AUDSYS"."AUD$UNIFIED":"SYS_P181"           185.7 KB     267行がエクスポートされました
. . "AUDSYS"."AUD$UNIFIED":"SYS_P414"           58.95 KB      22行がエクスポートされました
. . "AUDSYS"."AUD$UNIFIED":"SYS_P483"           53.85 KB      10行がエクスポートされました
. . "SYS"."DAM_CONFIG_PARAM$"                   6.531 KB      14行がエクスポートされました
. . "AUDSYS"."AUD$UNIFIED":"AUD_UNIFIED_P0"         0 KB       0行がエクスポートされました
. . "SYS"."AUD$"                                    0 KB       0行がエクスポートされました
. . "SYS"."DAM_CLEANUP_EVENTS$"                     0 KB       0行がエクスポートされました
. . "SYS"."DAM_CLEANUP_JOBS$"                       0 KB       0行がエクスポートされました
. . "SYS"."AUDTAB$TBS$FOR_EXPORT"               5.953 KB       2行がエクスポートされました
. . "SYS"."FGA_LOG$FOR_EXPORT"                      0 KB       0行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_FULL_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_FULL_01に設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/admin/O19A/dpdump/audit.dmp
ジョブ"SYSTEM"."SYS_EXPORT_FULL_01"が日 10月 27 21:42:37 2019 elapsed 0 00:01:06で正常に完了しました
```

# インポート時の仕様
impdpコマンドによるインポート時はtable_exists_actionの指定にかかわらず強制的にAPPENDモードでインポートが行われます。このため監査データが存在するデータベースに対してインポートを実行すると既存のデータとインポート・データが両方格納されることになります。

```
$ impdp userid=SYSTEM/**** full=y directory=DATA_PUMP_DIR dumpfile=audit.dmp table_exists_action=truncate

Import: Release 19.0.0.0.0 - Production on 日 10月 27 22:56:38 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
マスター表"SYSTEM"."SYS_IMPORT_FULL_01"は正常にロード/アンロードされました
"SYSTEM"."SYS_IMPORT_FULL_01"を起動しています: userid=SYSTEM/******** full=y directory=DATA_PUMP_DIR dumpfile=audit.dmp table_exists_action=truncate
オブジェクト型DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中です
. . "SYS"."KU$_EXPORT_USER_MAP"                 6.125 KB      41行がインポートされました
オブジェクト型DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATAの処理中です
. . "AUDSYS"."AMGT$DP$AUD$UNIFIED":"SYS_P181"   185.7 KB     267行がインポートされました
. . "AUDSYS"."AMGT$DP$AUD$UNIFIED":"SYS_P414"   58.95 KB      22行がインポートされました
. . "AUDSYS"."AMGT$DP$AUD$UNIFIED":"SYS_P483"   53.85 KB      10行がインポートされました
. . "SYS"."AMGT$DP$DAM_CONFIG_PARAM$"           6.531 KB      14行がインポートされました
. . "AUDSYS"."AMGT$DP$AUD$UNIFIED":"AUD_UNIFIED_P0"      0 KB       0行がインポ ートされました
. . "SYS"."AMGT$DP$AUD$"                            0 KB       0行がインポートされました
. . "SYS"."AMGT$DP$DAM_CLEANUP_EVENTS$"             0 KB       0行がインポートされました
. . "SYS"."AMGT$DP$DAM_CLEANUP_JOBS$"               0 KB       0行がインポートされました
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLEの処理中です
オブジェクト型DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATAの処理中 です
. . "SYS"."AMGT$DP$AUDTAB$TBS$FOR_EXPORT"       5.953 KB       2行がインポートされました
. . "SYS"."AMGT$DP$FGA_LOG$FOR_EXPORT"              0 KB       0行がインポートされました
オブジェクト型DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKERの処理中です
オブジェクト型DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKERの処理中です
ジョブ"SYSTEM"."SYS_IMPORT_FULL_01"が日 10月 27 22:56:44 2019 elapsed 0 00:00:06で正常に完了しました
```