Clear Audits
Oracle 11g’den sonra Audit Destination parametresi OS yerine DB oldu. Audit bilgileri SYS.AUD$ tablosunda tutulmaktadır. Bu tablo SYSTEM tablespace üzerinde tutuluyor. Eger Audit bilgilerini belli aralıklarla silmez iseniz SYTEM tablosu dolacaktır ve eğer Auto Extend değilse veritabanı çalışmaz hale gelecektir. Auto extend ise login sürelerinde bariz yavaşlamalar olacaktır.
Eğer şu anda SYS.AUD$ tablosu çok büyüdü ve sıkıntı yaşıyorsanız hemen tabloyu uygun tablespace’e yedekleyip silebilirsiniz:
SQL > CREATE TABLE audit_record TABLESPACE USERS as select * from SYS.AUD$;
SQL > truncate table sys.aud$;
SYS.AUD$ tablosunu sakın “delete from” ile silmeyiniz. Eğer çok büyük ise bir süre sisteminizin çalışmasını durdurabilir.
Sorun yaşamamak için ya “audit_trail” system parametresini DB den OS olarak değiştirmelisiniz, ki bu restart gerekterir. Ya da job yaratarak belli bir günden sonraki auid rows ları otomatik sileceksiniz.
SQL > delete from sys.aud$ where trunc(NTIMESTAMP# ) < trunc(sysdate - 60) Yukarıdaki SQL ile 60 den daha eski olan row'ları silebilirsiniz. Bunu her geçe çalışacak bir script haline getirebilirsiniz.
Recent Comments