Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Tworzenie globalnego wyzwalacza, który nasłuchuje wielu tabel

Czy istnieje powód, dla którego chcesz wymyślić koło na nowo? Dlaczego nie skorzystać z wbudowanego audytu Oracle?

Baza Oracle zawiera podstawowe informacje, jak rozpocząć audyt:

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

Poniższa lista zawiera opis każdego ustawienia:

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.

Aby włączyć audyt do ścieżki audytu bazy danych, włącz audyt do db

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

System altered.

Zamknij i uruchom ponownie bazę danych

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

Teraz skontroluj SELECTS , INSERTS , UPDATES , DELETES przez użytkownika cube zrób to:

CONNECT sys/password AS SYSDBA

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

Kontrolowane dzienniki można wyświetlić, wysyłając zapytanie DBA_AUDIT_TRAIL

Dalsza lektura:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL z rangą i partycją

  2. Nazwa kolumny SQL taka sama jak nazwa zmiennej PL/SQL — Jak to zrobić w instrukcji SELECT?

  3. WSTAW i AKTUALIZUJ rekord za pomocą kursorów w oracle

  4. Wyzwalacz z instrukcją Merge w Oracle

  5. Używanie Javy do łączenia się z bazą danych Oracle