Sepertinya Anda mengejar 'audit'. Oracle memiliki fitur bawaan yang disebut Fine Grain Auditing (FGA). Singkatnya Anda dapat mengaudit segala sesuatu atau kondisi tertentu. Yang sangat keren adalah Anda dapat 'mengaudit' memilih serta transaksi. Perintah sederhana untuk memulai audit:
audit UPDATE on SCOTT.EMP by access;
Anggap saja sebagai 'pemicu' untuk pernyataan tertentu. Misalnya, Anda membuat kebijakan:
begin
dbms_fga.add_policy (
object_schema=>'BANK',
object_name=>'ACCOUNTS',
policy_name=>'ACCOUNTS_ACCESS'
);
end;
Setelah Anda menentukan kebijakan, saat pengguna menanyakan tabel dengan cara biasa, sebagai berikut:
select * from bank.accounts;
jejak audit mencatat tindakan ini. Anda dapat melihat jejaknya dengan mengeluarkan:
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