Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Audit object
HI, here is an example to save all data from ddls executed
The same to create and alter instead of drop
CREATE OR REPLACE TRIGGER sys.tgr_drop
AFTER
DROP <--
ON DATABASE
DECLARE
csql_text ora_name_list_t;
n NUMBER;
cSQL CLOB;
var_user varchar2(30); var_osuser varchar2(30); var_machine varchar2(64); var_process varchar2(09); var_program varchar2(48); var_sqltext varchar2(1000);
,sys.v_$sqlarea t where s.audsid = userenv('sessionid')and s.prev_sql_addr = t.address(+)
n:= ora_sql_txt(csql_text);
FOR I IN 1..N LOOP
cSQL:=cSQL||csql_text(i);
END LOOP;
INSERT INTO SYS.ddls
(dd2_user, dd2_time, dd2_objeto, dd2_tipo,DD2_SQL,
DD2_OSUSER , DD2_MACHINE , DD2_OPROGRAM
)
VALUES(
'D-'||DBMS_STANDARD.LOGIN_USER,SYSDATE,
DBMS_STANDARD.DICTIONARY_OBJ_NAME,
DBMS_STANDARD.dictionary_obj_type,cSQL,
var_osuser, var_machine, var_program
);
END;
/
Juan Carlos Reyes Pacheco
OCP
Database 9.2 Standard Edition
![]() |
![]() |