対策する資格
Java Silver ・ 近日ORACLE Silver ・ 近日
Gold 保有者 監修1Z0-083 対応
統合監査(Unified Auditing)難易度 標準無料

統合監査(Unified Auditing)で、HR.EMP への SELECT/UPDATE/DELETE を監査したい。次を実行した後、HR.EMP を実際に UPDATE したが、UNIFIED_AUDIT_TRAIL に該当レコードが記録されない。

SQL> CREATE AUDIT POLICY emp_dml_pol
  2    ACTIONS SELECT, UPDATE, DELETE ON hr.emp;
Audit policy created.

-- (別セッションで)
SQL> UPDATE hr.emp SET sal = sal * 1.1 WHERE deptno = 10;
SQL> COMMIT;

SQL> SELECT * FROM unified_audit_trail
  2    WHERE object_name='EMP' ORDER BY event_timestamp;
-- 行が返らない

監査レコードが記録されない理由として最も適切なものを選べ。(単一選択)

  1. A監査ポリシーを作成しただけで有効化していないAUDIT POLICY emp_dml_pol; を実行して初めて監査が始まる
  2. BCREATE AUDIT POLICY は作成と同時に自動的に有効化されるので、記録されないのは AUDIT_TRAIL 初期化パラメータが NONE だからである
  3. C統合監査では DML(UPDATE 等)は監査対象にできず、SELECT のみ監査可能なため
  4. DUNIFIED_AUDIT_TRAIL はリアルタイム反映されず、レコードは DBA_AUDIT_TRAIL(旧来ビュー)にしか出ないため
正解・解説・誤答理由・ひっかけを見る▼ open
✓ 正解:AGold監修

解説

統合監査では、監査は2段構えになっている。

  • ① ポリシーの定義: CREATE AUDIT POLICY <名> ACTIONS ...; で「何を監査するか」を定義する。これは定義しただけで、まだ監査は始まらない
  • ② ポリシーの有効化: AUDIT POLICY <名> [BY <user> | WHENEVER ...]; を実行して有効化して初めて、以後の該当操作が UNIFIED_AUDIT_TRAIL に記録される。

本問はポリシーを CREATE しただけで AUDIT POLICY emp_dml_pol; を実行していないため、UPDATE しても記録されない。 AUDIT POLICY emp_dml_pol; を実行すれば(以降の操作から)記録される。

補足:純粋統合監査(pure unified auditing)モードでは、旧来の AUDIT_TRAIL 初期化パラメータは無視される(監査の有効/出力先は統合監査の仕組みが制御)。

各誤答が違う理由
  • BCREATE AUDIT POLICY自動有効化されない。さらに統合監査の有効/無効は AUDIT POLICY 文で制御し、純粋統合監査では AUDIT_TRAIL パラメータは関与しない。根拠が二重に誤り。
  • C統合監査は SELECT だけでなく UPDATE/DELETE 等の DML も ACTIONS で監査できる。DML 不可は誤り。
  • D有効化済みなら統合監査レコードは UNIFIED_AUDIT_TRAIL に出る。記録されない原因は「ビューの選択ミス」ではなく「ポリシー未有効化」。
ひっかけ: 「ポリシーを作れば監査が始まる」という思い込み。定義(CREATE)と有効化(AUDIT)は別ステップ。 旧来監査の AUDIT_TRAIL 初期化パラメータの話(B)に引っ張られるのも罠。純粋統合監査ではこのパラメータは無視される。
Gold 保有者による書き下ろし解説・実機で検証済
この分野をもっと解いて、得点源に
統合監査 を含む全問を分野別に演習できます(無料)。
演習する →