所以我知道通过审计连接和触发器选项进行跟踪。但是我们可以执行一个程序。如何跟踪Oracle用户使用过程登录到数据库?
我在v $ session(我认为它是一个视图而不是表格)时出现错误...任何解决方法?谢谢! 代码:
create or replace procedure logon_audit_proc
is
v_user varchar2(100);
v_machine varchar2(100);
v_sid number;
v_serial number;
cursor c1 is
SELECT osuser, machine, sid,serial# FROM **v$session**;
BEGIN
open c1;
loop
fetch c1 into v_user,v_machine,v_sid,v_serial;
exit when c1%notfound;
dbms_output.put_line('****');
dbms_output.put_line('The emp name is '||v_user);
dbms_output.put_line('The emp name is '||v_machine);
dbms_output.put_line('The emp name is '||v_sid);
dbms_output.put_line('The emp name is '||v_serial);
dbms_output.put_line('****');
end loop;
close c1;
END;
欢迎计算器。这很像这里的问题,http://stackoverflow.com/questions/15541990/sqlplus-how-to-find-details-of-the-currently-connected-database-session。 – 2014-09-25 18:10:11
请描述为什么内置审计功能不能满足您的要求。 – thatjeffsmith 2014-09-26 02:08:42
@hillbillyToad,这些选项在审查,但我们正在尝试的东西,需要,如果这可以作为一个过程。同时proc的问题是,已经登录和关闭proc之前运行的用户不会被捕获。但感谢您提出 – ak548 2014-09-26 14:43:01