Trong Oracle Database, khi bạn thực hiện cấu hình auditing, bạn có thể chỉ định cách thức ghi lại các hoạt động đã được audit bằng cách sử dụng các từ khóa BY ACCESS hoặc BY SESSION. Dưới đây là giải thích chi tiết về ý nghĩa của từ khóa BY ACCESS:
BY ACCESS
- Ý nghĩa: BY ACCESS chỉ định rằng mỗi lần một hoạt động được thực hiện, một bản ghi audit sẽ được tạo ra. Điều này có nghĩa là nếu một người dùng thực hiện một hoạt động nhiều lần, mỗi lần thực hiện sẽ tạo ra một bản ghi audit riêng biệt.
- Ví dụ: Nếu bạn audit các hoạt động SELECT trên bảng employees với BY ACCESS, mỗi lệnh SELECT sẽ tạo ra một bản ghi audit riêng.
AUDIT SELECT ON hr.employees BY ACCESS;
BY SESSION
- Ý nghĩa: BY SESSION chỉ định rằng chỉ một bản ghi audit sẽ được tạo ra cho mỗi phiên người dùng bất kể số lần hoạt động đó được thực hiện trong phiên. Điều này có nghĩa là nếu một người dùng thực hiện một hoạt động nhiều lần trong cùng một phiên, chỉ một bản ghi audit sẽ được tạo ra cho hoạt động đó trong phiên đó.
- Ví dụ: Nếu bạn audit các hoạt động SELECT trên bảng employees với BY SESSION, chỉ một bản ghi audit sẽ được tạo ra cho mỗi phiên ngay cả khi người dùng thực hiện nhiều lệnh SELECT trong cùng một phiên.
AUDIT SELECT ON hr.employees BY SESSION;
So sánh BY ACCESS và BY SESSION
- Mức độ chi tiết:
- BY ACCESS: Ghi lại từng lần truy cập hoặc thực hiện hoạt động, cung cấp mức độ chi tiết cao.
- BY SESSION: Ghi lại tổng quan các hoạt động trong một phiên, ít chi tiết hơn nhưng có thể giảm thiểu lượng dữ liệu audit được ghi lại.
- Sử dụng:
- BY ACCESS phù hợp khi bạn cần theo dõi chi tiết từng hoạt động, đặc biệt là trong các hệ thống yêu cầu giám sát chặt chẽ.
- BY SESSION phù hợp khi bạn chỉ cần một bản ghi tổng quan cho mỗi phiên, giúp giảm thiểu lượng dữ liệu audit được ghi lại và dễ dàng quản lý hơn.
Ví dụ cấu hình auditing cho một người dùng cụ thể
Giả sử bạn muốn audit tất cả các hoạt động của người dùng SCOTT và muốn ghi lại từng hoạt động riêng biệt (sử dụng BY ACCESS):
— Kích hoạt auditing
ALTER SYSTEM SET audit_trail=’DB’ SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;
— Audit tất cả các hoạt động của người dùng SCOTT
AUDIT SESSION BY SCOTT BY ACCESS;
AUDIT ALL BY SCOTT BY ACCESS;
Bằng cách sử dụng BY ACCESS, bạn sẽ ghi lại mỗi lần người dùng SCOTT thực hiện một hoạt động, cung cấp mức độ chi tiết cao về các hoạt động của người dùng này trong cơ sở dữ liệu của bạn.
AUDIT ALL: không bao gồm các truy vấn DML (insert update delete, nhưng nó bao gồm truncate)