TESTWANG1:LMSD@AUSADDFSLMSDEV1> create table audit_events (
2 event_user varchar2(30),
3 event_object_name varchar2(60),
4 event_ip varchar2(60))
5 /
Table created.
TESTWANG1:LMSD@AUSADDFSLMSDEV1> create or replace trigger ddl_trigger
2 after create or alter or drop on SCHEMA
3 BEGIN
4 Declare
5 Cursor C1 is
6 select
7 sys_context('USERENV','SESSION_USER') sess_user,
8 sys_context('userenv','ip_address') ip_address
9 from dual;
10 BEGIN
11 FOR C2 IN C1 LOOP
12 null;
13 Insert into audit_events
14 (
15 Event_user,
16 Event_object_name,
17 event_ip
18 )
19 values
20 (
21 C2.sess_user,ora_dict_obj_name,C2.ip_address);
22 END LOOP;
23 END;
24 END;
25 /
Trigger created.
TESTWANG1:LMSD@AUSADDFSLMSDEV1> create table test100 (id number);
Table created.
TESTWANG1:LMSD@AUSADDFSLMSDEV1> select * from audit_events;
EVENT_USER
------------------------------
EVENT_OBJECT_NAME
------------------------------------------------------------
EVENT_IP
------------------------------------------------------------
TESTWANG1
TEST100
143.166.75.224