Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Vsem privet!

Pajalusta dayce link ili savet.

U menya rabotayet trigger kakda v baze login delayutsa.
Sas menya nada pisat trigger i ona pisala v table kakda user vixodit.
Pisal trigger, vrode rabotayut, status VALID, no v tablice nicevo ne piset.
Program kod balsim sajelenium ne saboy sas. No tam u mneya v zaprose ya palucayu select sid from v$session etc.... pajalusta yesli u kavo opit ili qatoviy skripit.

Vsem spasiba
27 июн 06, 13:23    [2816331]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
SeaGate
Member

Откуда: Новосибирск
Сообщений: 1635
Mozete pokazat' kod Vashego triggera? Dumayu tak budet proshe razbirat'sya
27 июн 06, 13:25    [2816356]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Ok, prosta ya sas tut v rabote, budu pisat vecerom, ili dumayu druqoy variant
27 июн 06, 13:29    [2816377]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Скорее всего, отсутствует COMMIT
27 июн 06, 13:29    [2816379]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
SysOper
Member

Откуда: M
Сообщений: 9760
Скорее всего в триггерах COMMIT вообще не пишется :))
27 июн 06, 13:43    [2816478]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
SysOper
Скорее всего в триггерах COMMIT вообще не пишется :))


Как раз в подобных случаях (для протоколирования) оч-ч-чень даже пишется (autonomous_transaction) :))
27 июн 06, 13:50    [2816529]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Brati ya paprobival eta vcera. Nu i delal commit(/) i bez nevo, smotrel nicevo novova. Sas ya vspominayu kak eta bila:) No lyubom slucay vecerom budu paslat.
27 июн 06, 14:03    [2816593]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
tru55
Скорее всего, отсутствует COMMIT

+1
или что еще и стоИт when others
а вообще, триггера уровня базы весьма опастно делать с упоминанием в
статическом коде (напр.) v$session. Ну запретит админ к нему доступ.. (кстати, будет прав). Если уж надо ловить logoff - я бы (максимум) глядел из него на контекст, определенный (например, на логоне:)
27 июн 06, 14:04    [2816600]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Привет всем!

U menya 2 triggera. Odin iz nix logon a druqoy logoff (v baze)
Logon rabotayet, a vot logoff ne piset event v tablice. No v status trigger e vso normalna, VALID piset.
Zdes tolka script code ya pisu, nu create or replace ... ne pisu, tolka konkretna trigger.

LOGON
-------------------------------
BEGIN
INSERT INTO user_log
(spid,sid,serial#,user_name,os_user,terminal,machine,ip_address,program,logon_time)
SELECT p.spid, s.SID, s.serial#, s.username, s.osuser, s.terminal,
s.machine,
SYS_CONTEXT ('USERENV','IP_ADDRESS') "IP_ADDRESS", s.program,
s.logon_time
FROM v$session s, v$process p
WHERE audsid = (SELECT SYS_CONTEXT ('USERENV','SESSIONID') FROM
DUAL)AND s.paddr = p.addr(+);
insert into trg_test values(sysdate, 'logon');
END;
-------------------------------

LOGOFF
-------------------------------
BEGIN
insert into trg_test values(sysdate, 'logoff');
update user_log g
set g.log_off=sysdate
where g.user_name = sys.login_user and g.logon_time=(select
max(logon_time) from user_log);
commit;
END;
-------------------------------

Pomoqite kak mojna delat shto LOGOFF rabotal, vot ya naprimer 1 tablice trg_test prosta insert delayu, a mne interesno ona update budet delat...
5 июл 06, 07:52    [2843260]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
Бомж
Member

Откуда: Баку, Азербайджан
Сообщений: 409
AUTONOMOUS_TRANSACTION
?

IMHO : Не надо пологатся на логоф триггер ...
5 июл 06, 08:06    [2843279]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
A kak eta panyat ili kak resit eta?
Yest druqiye alternativi?
5 июл 06, 08:15    [2843289]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
Бомж
Member

Откуда: Баку, Азербайджан
Сообщений: 409
trigger_on_logoff
A kak eta panyat ili kak resit eta?
Yest druqiye alternativi?



Unlike regular triggers , autonomous triggers can contain
transaction control statements :

Ex :
CREATE TRIGGER SOME_EVENT_TRIGGER
BEFORE INSERT ON SOME_TABLE FOR EACH ROW
-- for any event !!!
DECLARE
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
   INSERT INTO SOME_OTHER_TABLE(..., ....) VALUES (..., ...);
   COMMIT; --!!!!
END;

НА СЧЕТ АЛТЕРНАТИВ :

Может и есть )), но сначала обясни зачем тебе эти тригеры ?
5 июл 06, 08:33    [2843312]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116174
Гипотеза.
У Вас триггер AFTER LOGOFF ?
5 июл 06, 08:49    [2843344]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Бомж :
но сначала обясни зачем тебе эти тригеры ?

Eta trigger nujen dlya bezapasnosti (iz program mojna bila bi smotret kto, kakda i skolka rabotal i tak dali)


dmidek:
У Вас триггер AFTER LOGOFF ?

Da, AFTER LOGOFF
5 июл 06, 09:01    [2843366]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116174
Попробуйте BEFORE LOGOFF
5 июл 06, 09:02    [2843372]     Ответить | Цитировать Сообщить модератору
 Re: Trigger on LOGOFF  [new]
trigger_on_logoff
Guest
Ok, paprobuyu i vam sapsu rezultat
5 июл 06, 09:18    [2843408]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить