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
   from v$session s
  where sid = ( select sid from v$mystat where rownum=1 );
END;


Juan Carlos Reyes Pacheco
OCP
Database 9.2 Standard Edition


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: