Oracle SQL - Triggery DDL - Data Definition Language

Trigger-y DDL

Wyzwalacze DDL pozwalają na monitorowanie operacji typu Data Definition Language np create, alter czy truncate.

create or replace trigger wielki_brat
  after 
  revoke or
  disassociate statistics or 
  alter or 
  rename or 
  noaudit or 
  associate statistics or 
  truncate or 
  comment or 
  drop or 
  ddl or 
  create or 
  grant or 
  audit 
  on HR.schema
begin
  insert into DDL_logs
    (action, host, module, os_user, session_user, terminal, sysevent, obj_type, obj_name, db, ip)
  values
    (sys_context('USERENV', 'ACTION'),
     sys_context('USERENV', 'HOST'),
     sys_context('USERENV', 'MODULE'),
     sys_context('USERENV', 'OS_USER'),
     sys_context('USERENV', 'SESSION_USER'),
     sys_context('USERENV', 'TERMINAL'),
     ora_sysevent,
     sys.dictionary_obj_type,
     sys.dictionary_obj_owner || '.' || sys.dictionary_obj_name,
     upper(sys_context('userenv', 'instance_name')),
     sys_context('USERENV', 'IP_ADDRESS'));
end;

2010.03.28 11:48:37.