میخوام یه trigger بنویسم که با login هر کاربر اجرا بشه و مثلاً نام کاربر رو ذخیره کنه:

CREATE OR REPLACE TRIGGER logonauditing
AFTER LOGON ON application.schema
DECLARE
machinename VARCHAR2(64);
osuserid VARCHAR2(30);
session_id_part1 NUMBER;
session_id_part2 NUMBER;
CURSOR c1 IS
SELECT osuser, machine, sid, serial#
FROM v$session WHERE audsid = userenv( 'sessionid' );
BEGIN
OPEN c1;
FETCH c1 INTO osuserid, machinename, session_id_part1, session_id_part2;
INSERT INTO LOGON_table(osuser, machine, logon_time, session_id_1, session_id_2)
VALUES ( osuserid, machinename, sysdate,session_id_part1, session_id_part2);
CLOSE c1;
COMMIT;
END;

نکته: میشه از AUDIT CONNECT به جای trigger استفاده کرد (اوراکل فعالیت‌های ورود و خروج رو تو audit trail ذخیره می‌کنه)، می‌تونید پیشنهاد تام در این باره رو از اینجا ببینید.