تغییر محل پیش فرض audit در unified_audit_trail و کنترل حجم آن

سلام. محل پیش فرضی که audit در آن ذخیر می شود، Tablespace sysaux هست. با توجه به اینکه این محل، برای نگه داری extent های دیگر مربوط به سیستم استفاده می شود، توصیه می کنم محل audit رو به Tablespace دیگری منتقل کنیم:

یک Tablespace جدید می سازیم:

create tablespace AUDIT_TBS;

با اجرای دستور زیر محل پیش فرض AUDIT ها را عوض می کنیم:

BEGIN

  DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(

    AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,

    AUDIT_TRAIL_LOCATION_VALUE => 'AUDIT_TBS'

  );

END;

/

 

برای پیاده سازی یک retention که فقط هفت روز اخیر را نگه دارد می توانید به لینک زیر مراجعه کنید:

پیاده‌سازی Retention هفت‌روزه برای Unified Auditing در Oracle 19c (CDB/PDB)

این روش اطمینان حاصل می‌کند که لاگ‌های آدیت به طور خودکار هر ۷ روز پاکسازی می‌شوند و نیازی به اجرای دستی تنظیمات نیست.

در صورتی که بخواهیم کل محتوای unified_audit_trial پاک شود نیز می توانیم از دستور زیر استفاده کنیم:

BEGIN

DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL(

audit_trail_type         =>  DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,

use_last_arch_timestamp  =>  FALSE);

END;

/