create table sys.audit_tracefile (logontime date,
sid number,
ins_id number,
username varchar2(30),
ip_addr varchar2(20),
machine varchar2(64),
terminal varchar2(30),
osuser varchar2(30),
program varchar2(48),
module varchar2(48),
tracefile varchar2(32))
tablespace users;
CREATE OR REPLACE TRIGGER audit_dbainfo
AFTER LOGON
ON DATABASE
DECLARE
sqlstr varchar2(100);
BEGIN
sqlstr :='alter session set events ''10046 trace name context forever,level 1''';
IF (USER = 'SYS' or USER='SYSTEM') THEN ------》看情况改
insert into sys.audit_tracefile (logontime,
sid,
ins_id,
username,
ip_addr,
machine,
terminal,
osuser,
program,
tracefile)
select logon_time,
sid,
sys_context('USERENV','INSTANCE'),
username,
sys_context('USERENV','IP_ADDRESS'),
machine,
terminal,
osuser,
program,
(select instance_name from v$instance)||'_ora_'||(select spid from
v$process where addr=(select paddr from v$session where sid=(select sid from sys.v_$mystat where rownum<2)))||'.trc'
from V$session
where sid=(select sid from sys.v_$mystat where rownum<2);
execute immediate sqlstr;
END IF;
END audit_dbainfo;
/
col module for a15
col username for a10
col ip_addr for a16
col machine for a16
col program for a16
col ins_id for 99
select sid,ins_id,username,ip_addr,machine,program,tracefile from
audit_tracefile;
sid number,
ins_id number,
username varchar2(30),
ip_addr varchar2(20),
machine varchar2(64),
terminal varchar2(30),
osuser varchar2(30),
program varchar2(48),
module varchar2(48),
tracefile varchar2(32))
tablespace users;
CREATE OR REPLACE TRIGGER audit_dbainfo
AFTER LOGON
ON DATABASE
DECLARE
sqlstr varchar2(100);
BEGIN
sqlstr :='alter session set events ''10046 trace name context forever,level 1''';
IF (USER = 'SYS' or USER='SYSTEM') THEN ------》看情况改
insert into sys.audit_tracefile (logontime,
sid,
ins_id,
username,
ip_addr,
machine,
terminal,
osuser,
program,
tracefile)
select logon_time,
sid,
sys_context('USERENV','INSTANCE'),
username,
sys_context('USERENV','IP_ADDRESS'),
machine,
terminal,
osuser,
program,
(select instance_name from v$instance)||'_ora_'||(select spid from
v$process where addr=(select paddr from v$session where sid=(select sid from sys.v_$mystat where rownum<2)))||'.trc'
from V$session
where sid=(select sid from sys.v_$mystat where rownum<2);
execute immediate sqlstr;
END IF;
END audit_dbainfo;
/
col module for a15
col username for a10
col ip_addr for a16
col machine for a16
col program for a16
col ins_id for 99
select sid,ins_id,username,ip_addr,machine,program,tracefile from
audit_tracefile;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22936840/viewspace-749798/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22936840/viewspace-749798/