所以我知道通過審計連接和觸發器選項進行跟蹤。但是我們可以執行一個程序。如何跟蹤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