sql >> Database teknologi >  >> RDS >> Oracle

Hvordan logger man på en Oracle-database?

Det lyder som om du er ude efter 'revision'. Oracle har en indbygget funktion kaldet Fine Grain Auditing (FGA). I en nøddeskal kan du revidere alt eller specifikke forhold. Det, der er rigtig fedt, er, at du kan 'revidere' valg såvel som transaktioner. Simpel kommando til at komme i gang med revision:

audit UPDATE on SCOTT.EMP by access;

Tænk på det som en 'trigger' for udvalgte udsagn. For eksempel opretter du politikker:

begin
   dbms_fga.add_policy (
      object_schema=>'BANK',
      object_name=>'ACCOUNTS',
      policy_name=>'ACCOUNTS_ACCESS'
  );
end;

Når du har defineret politikken, når en bruger forespørger i tabellen på den sædvanlige måde, som følger:

select * from bank.accounts; 

revisionssporet registrerer denne handling. Du kan se sporet ved at udstede:

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


  1. Hvordan laver man et felt NULL ved hjælp af MySQL GUI Tools?

  2. MySQL/Hibernate :Standardværdien for kolonnen ikke-nul virker ikke

  3. Hvordan man bruger returværdier for en opgave i en anden opgave for en anden vært i ansible

  4. SQL Hent X sidste indgange fra en 'custom' post_type, der tæller brugernes individuelle antal tilpassede post_type