CREATE TABLE AUDIT_LOG_DDL
(
STMT_ISSUED_ON DATE,
OSUSER VARCHAR2(255 BYTE),
CURRENT_USER VARCHAR2(255 BYTE),
HOST VARCHAR2(255 BYTE),
TERMINAL VARCHAR2(255 BYTE),
OWNER VARCHAR2(30 BYTE),
TYPE VARCHAR2(30 BYTE),
NAME VARCHAR2(30 BYTE),
SYSEVENT VARCHAR2(30 BYTE)
)
CREATE OR REPLACE TRIGGER TRG_AUDIT_DDL_SCHEMA before DDL on schema
declare hostname varchar2(40);
begin
if (ora_sysevent='COMMENT')
then
null;
else
hostname:=sys_context('USERENV','IP_ADDRESS');
insert into audit_log_ddl(stmt_issued_on, osuser,current_user,host,terminal,owner,type,name,sysevent)
values(
sysdate,
sys_context('USERENV','OS_USER') ,
sys_context('USERENV','CURRENT_USER') ,
sys_context('USERENV','HOST') ,
sys_context('USERENV','TERMINAL') ,
ora_dict_obj_owner,
ora_dict_obj_type,
ora_dict_obj_name,
ora_sysevent
);
end if;
end;
/
No comments:
Post a Comment