統合監査の使い方

誰が何をしたかを記録する(Oracle)

書き方

CREATE AUDIT POLICY 名前 ACTIONS DELETE ON app.orders, UPDATE ON app.orders;
CREATE AUDIT POLICY 名前 ACTIONS LOGON;
AUDIT POLICY 名前 [BY ユーザー | EXCEPT ユーザー] [WHENEVER [NOT] SUCCESSFUL];
NOAUDIT POLICY 名前;  DROP AUDIT POLICY 名前;
SELECT * FROM audit_unified_enabled_policies;
SELECT event_timestamp, dbusername, userhost, action_name, object_name, return_code FROM unified_audit_trail;

監査ポリシーで「何を記録するか」を決め、AUDIT POLICY で有効にします(作っただけでは記録されません)。記録は UNIFIED_AUDIT_TRAIL に残り、RETURN_CODE が 0 以外は失敗した操作(1017 はパスワードの間違い)です。最初から ORA_SECURECONFIG・ORA_LOGON_FAILURES などのポリシーが有効です。有効なポリシーは消せない(ORA-46361)ので、先に NOAUDIT します。

例

SELECT dbusername, userhost FROM unified_audit_trail WHERE action_name = 'LOGON' AND return_code <> 0;

実際に打って練習する

Oracle DBA コースの Lv57「見張りの記録 統合監査」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、プラチナ以上のプランで遊べます。

Oracle Database の管理コマンド一覧(DBA)へ戻る