Có vẻ như bạn đang sau khi 'kiểm toán'. Oracle có một tính năng tích hợp có tên là Fine Grain Auditing (FGA). Tóm lại, bạn có thể kiểm tra mọi thứ hoặc các điều kiện cụ thể. Điều thực sự thú vị là bạn có thể 'kiểm tra' các lựa chọn cũng như các giao dịch. Lệnh đơn giản để bắt đầu kiểm tra:
audit UPDATE on SCOTT.EMP by access;
Hãy coi nó như một 'trình kích hoạt' cho các câu lệnh được chọn. Ví dụ:bạn tạo các chính sách:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Sau khi bạn đã xác định chính sách, khi người dùng truy vấn bảng theo cách thông thường, như sau:
select * from bank.accounts;
đường mòn kiểm toán ghi lại hành động này. Bạn có thể thấy dấu vết bằng cách phát hành:
select timestamp,
db_user,
os_user,
object_schema,
object_name,
sql_text
from dba_fga_audit_trail;
TIMESTAMP DB_USER OS_USER OBJECT_ OBJECT_N SQL_TEXT
--------- ------- ------- ------- -------- ----------------------
22-OCT-08 BANK ananda BANK ACCOUNTS select * from accounts