powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как отловить событие OnConnect
14 сообщений из 14, страница 1 из 1
Как отловить событие OnConnect
    #32080095
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-то отловить событие onconnect к Ораклу именно на уровне сервера, чтобы выполнить проверку юзера (на манер комплексной
проверки пароля пользователя при изменении),
как только он приконнектился?
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080100
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Da
Nado ispolzovat trigger na sobitie on connect
see: http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/appdev.920/a96590/adg14evt.htm#998000
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080101
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vinovat ne on connect a ON LOGON
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080284
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виноват, не указал версию сервера
Оракл 8.1.7
При попытке сделать

CREATE OR REPLACE TRIGGER On_Logon
AFTER LOGON
on KREDIT.KREDIT
BEGIN
raise_application_error(-20002, 'LALALA');
END;

(Error): ORA-30506: system triggers cannot be based on tables or views
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080298
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create or replace trigger tal_db
after logon on database
declare
  v_username v$session.username%type;
begin
  select username
  into v_username
  from v$session
  where  1 = 1 
    and audsid = sys_context('userenv', 'sessionid');
end;
/
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080342
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда... поспешил вобщем ... надо было доку сначала до конца дочитать...

Дело вот в чём. Я хотел не пускать юзера в базу по определённым событиям
(выходные например и др) А оказывается что триггер то этот AFTER LOGON.
Тоесть юзер входит, а после уже срабатывает триггер.
Кстати пытался посылать сообщение с помощью raise_application_error() из триггера -- безрезультатно....

Можно конечно и через job это сделать(забрать право создавать сессию или connect), но хотелось бы организовать всё красиво.

Что посоветует всезнающий All?
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080379
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А попробуй узнать в триггере sid, serial# и убить сессию через execute immediale 'alter system kill session (sid, serial#)'. Или она выругается, что саму небя убить не могу? Можно попытаться создать job с nextdate=>sysdate и там это сделать.

Да, если будешь экспериментировать- поставь условие убиения, а то вдруг получиться, что станут все сессии убиваться;)
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32080631
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подобное опсуждалось раньше поищи топик
USER locking
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081000
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Подобное опсуждалось раньше поищи топик
>USER locking
Собственно если не изменяет память, я этому человеку сам и советовал
запустить job который в 00:00 смотрел бы какой наступил день и отключал нужного юзера(лочил,отрубал,отбирал права и т.д.)

Просто хотелось ещё более красивый вариант ;_)
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081139
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яговорил не про JOB а про пользовательскую функцию авторизации

а вот убить текущую сессию из тригера on logon у меня не получилось, ругаеться, говорит нехочу ora-00027 :)
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081169
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты о комплексной проверке пароля то это не то.
Я тоже сначала обрадовался что это то что надо,
но функция о которой ты говоришь и которая упоминается в том треде _проверяет_ пароль при его _изменении_
юзером, чтобы его задание подчинялось каким-то правилам.
Я это уже попробовал.
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081441
Alex_M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Raise_application_error срабатывает, если user не DBA...
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081664
DimaR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно вот это работает!!!:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create or replace trigger TG_A_LOGON
  after LOGON on DATABASE
begin
    if ora_login_user='TRAVEL' then   
      null;raise LOGIN_DENIED;
    end if;
end TG_A_LOGON;
...
Рейтинг: 0 / 0
Как отловить событие OnConnect
    #32081810
Фотография Oleg Afanasiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Raise_application_error срабатывает, если user не DBA...
Да действительно ты прав.
Теперь всё ок.
У юзера над которым я проводил эксперименты был грант DBA,
я просто забыл права забрать
;P

ВСЕМ СПАСИБО
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как отловить событие OnConnect
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]