one example of event triggers
Code:create table event_log (log_date varchar2(36), event varchar2(36), username varchar2(36), owner varchar2(36), object_name varchar2(36), object_type varchar2(36), dbname varchar2(36), sql_text varchar2(2000) ); create or replace trigger truncate_trg after truncate on database declare l_sql_stmt varchar2(2000); begin select sql_text into l_sql_stmt from v$sql a, v$session b where a.address = b.sql_address and a.hash_value = b.sql_hash_value; insert into event_log values(sysdate, ora_sysevent, ora_login_user, ora_dict_obj_owner, ora_dict_obj_name, ora_dict_obj_type, ora_database_name); end; / create or replace trigger alter_user_trg after alter on database declare l_sql_stmt varchar2(2000); l_sid number; begin if (ora_dict_obj_type='USER') then select sql_text, sid into l_sql_stmt, l_sid from v$sql a, v$session b where a.address = b.sql_address and a.hash_value = b.sql_hash_value and audsid = userenv('SESSIONID'); insert into event_log values(sysdate, ora_sysevent, ora_login_user, ora_dict_obj_owner, ora_dict_obj_name, ora_dict_obj_type, ora_database_name, l_sid||' ##### '||l_sql_stmt); end if; end; /




Reply With Quote