Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: DDL auditing - *Extremely* detailed
Hi Ethan I posted it previously but is this basically
CREATE OR REPLACE TRIGGER tgr_ALTER
AFTER ALTER ON DATABASE
DECLARE
csql_text ora_name_list_t;
n NUMBER;
cSQL CLOB;
BEGIN
n:= ora_sql_txt(csql_text);
FOR I IN 1..N LOOP
cSQL:=cSQL||csql_text(i);
END LOOP;
INSERT INTO ddls
(dd2_user, dd2_time, dd2_objeto, dd2_tipo,DD2_SQL,
DD2_OSUSER , DD2_MACHINE , DD2_OPROGRAM)
select sys_context( 'userenv', 'current_user' ),
sysdate, ora_dict_obj_name, ora_dict_obj_type, cSQL, sys_context( 'userenv', 'external_name' ), s.machine, s.program