sql >> Database >  >> RDS >> Oracle

Een globale trigger maken die naar meerdere tabellen luistert

Is er een reden waarom je het wiel opnieuw wilt uitvinden? Waarom geen gebruik maken van de ingebouwde auditing van Oracle?

Oracle Base geeft wat basisinformatie over hoe u aan de slag kunt gaan met Auditing:

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }

De volgende lijst geeft een beschrijving van elke instelling:

none or false - Auditing is disabled.
db or true - Auditing is enabled, with all audit records stored in the database audit trial (SYS.AUD$).
db,extended - As db, but the SQL_BIND and SQL_TEXT columns are also populated.
xml- Auditing is enabled, with all audit records stored as XML format OS files.
xml,extended - As xml, but the SQL_BIND and SQL_TEXT columns are also populated.
os- Auditing is enabled, with all audit records directed to the operating system's audit trail.

Om auditing naar database-audittrail in te schakelen, schakelt u auditing naar db in

SQL> ALTER SYSTEM SET audit_trail=db,extended SCOPE=SPFILE;

System altered.

Sluit de database af en start deze opnieuw op

SQL> SHUTDOWN
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORACLE instance started.

Nu om SELECTS te controleren , INSERTS , UPDATES , DELETES door gebruiker cube doe dit:

CONNECT sys/password AS SYSDBA

AUDIT ALL BY cube BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY cube BY ACCESS;

De gecontroleerde logboeken kunnen worden opgeroepen door DBA_AUDIT_TRAIL . op te vragen

Verder lezen:




  1. Hoe verschillende sql uit te voeren om gegevens te krijgen volgens de vorige invoergegevens in de pentaho-ketel?

  2. Hoe deze groep ActiveRecord-query in postgres te doen

  3. Hoe krijg ik een kolom met opeenvolgende, oplopende nummers, zonder dat er nummers ontbreken?

  4. Simple Express-programma voor het opvragen van een resultaat