Ở bài viết về ADRCI, chúng ta đã biết các file audit (*.aud) sinh ra trong thư mục /adump không xóa được bằng công cụ ADRCI. Ta phải tự xử lý các file này, vì nếu các file này sinh ra quá nhiều làm đầy ổ đĩa, database sẽ bị treo.

 

Cách 1: sử dụng câu lệnh của Linux

 

Các tập tin *.aud thường nằm trong thư mục adump. Để biết chính xác, ta kiểm tra tham số trong database

 

 

Sau đó đặt 1 lịch crontab chạy đầu mỗi tháng, tìm xóa những tập tin audit cũ hơn 90 ngày chẳng hạn, bằng lệnh find như sau

 

 

Cách 2: sử dụng package DBMS_AUDIT_MGMT

 

DBMS_AUDIT_MGMT là 1 package Oracle cung cấp để chúng ta quản lý các tập tin cũng như dữ liệu audit. Ở đây chúng ta sẽ tập trung xử lý các file *.aud = AUDIT_TRAIL_OS

 

Đầu tiên kiểm tra xem đã có cấu hình xử lý file trail chưa

 

 

Nếu chưa có, ta khởi tạo việc xử lý

 

 

Lưu ý: default_cleanup_interval hiện tại không mang ý nghĩa chỉ định khoảng thời gian sẽ xử lý trail file định kỳ. Do đó ta cứ đặt 1 con số tùy ý.

Kiểm tra

 

 

Tiếp theo, ta xác định độ tuổi của các tập tin sẽ xóa. Ở đây mình cho là các tập tin cũ hơn 90 ngày

 

 

Kiểm tra. Ta thấy mốc thời gian được xác định là ngày 25/03. Các file cũ hơn thời gian này sẽ bị xóa

 

 

Cuối cùng, chúng ta thực hiện xóa các trail file

 

 

Để thuận tiện hơn, chúng ta có thể tạo scheduler job chạy định kỳ. Thao tác của job sẽ gồm 2 phần:

  • Đặt lại mốc thời gian xác định file cần xóa
  • Thực hiện xóa file

VD (chú ý phần job_action trong lệnh tạo job)

 

 

Trong trường hợp chúng ta cấu hình audit ra tập tin xml, khi xử lý ta có thể thay audit_trail_type từ AUDIT_TRAIL_OS thành AUDIT_TRAIL_XML