UNIFIED_AUDIT_TRAIL tablosunda , hatalı şifre ile giriş işlemlerine ait kayıtların olmaması durumu
12c ile birlikte gelen unified audit özelliği etkinleştirildiğinde tüm audit kayıtları UNIFIED_AUDIT_TRAIL tablosunda olacaktır. Varsayılan olarak ilgili politika etkin olmadığından , logon failure yani hatalı şifre ile giriş işlemlerinin kayıtları bu tabloda olmayacaktır. Hatalı şifre işlemlerinin de kayıt edilmesi için ORA_LOGON_FAILURES isimli politika etkinleştirilmelidir.
ORA_LOGON_FAILURES politikasını aşağıdaki gibi etkinleştirebilirsiniz.
SQL> audit policy ORA_LOGON_FAILURES; Audit succeeded.
Sonrasında kayıtlar oluşacaktır. Aşağıdaki gibi bir sorgu ile bu politika ile ilgili oluşan kayıtların sayısını görebilirsiniz.
SELECT audit_type, unified_audit_policies, action_name, return_code, COUNT (*) FROM unified_audit_trail WHERE unified_audit_policies = 'ORA_LOGON_FAILURES' GROUP BY audit_type, unified_audit_policies, action_name, return_code ORDER BY COUNT (*);
ORA_LOGON_FAILURES politikası aktif olduğunda çok fazla kayıt oluşacağından SYSAUX tablo alanınız kısa sürede dolabilir. Eski kayıtların otomatik olarak temizlenmesi için bir job oluşturabilirsiniz. Aşağıdaki komut ile 24 saatte bir çalışacak silme işlemi yapacak bir job oluşturulabilir. İlk silme işlemi , komutu çalıştırdıktan 24 saat sonra, olacaktır.
BEGIN DBMS_AUDIT_MGMT.CREATE_PURGE_JOB ( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED, AUDIT_TRAIL_PURGE_INTERVAL => 24, AUDIT_TRAIL_PURGE_NAME => 'Audit_Trail_Purge_Job', USE_LAST_ARCH_TIMESTAMP => TRUE, CONTAINER => DBMS_AUDIT_MGMT.CONTAINER_CURRENT); END; /
Job’ın çalışma aralığını değiştirmek için aşağıdaki komut kullanılabilir.
BEGIN DBMS_AUDIT_MGMT.SET_PURGE_JOB_INTERVAL( AUDIT_TRAIL_PURGE_NAME => 'Audit_Trail_Purge_Job', AUDIT_TRAIL_INTERVAL_VALUE => 48); END; /