Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 имя приложения в v$session  [new]
Dima Ry
Member

Откуда: Тольятти, Самара
Сообщений: 118
Как заставить клиента сообщать имя exe-шника в v$session ?
Охота проконтроливать, что все запускают Oracle Forms, а не sqlplus.

Заранее спасибо
12 сен 08, 19:22    [6180593]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
TX
Member

Откуда:
Сообщений: 628
desc v$session

PROGRAM VARCHAR2(48)

это не подходит ?
12 сен 08, 19:34    [6180610]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
TX
desc v$session

PROGRAM VARCHAR2(48)

это не подходит ?

ничего не мешает переименовать екзешник ;)
12 сен 08, 21:42    [6180759]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
TX
Member

Откуда:
Сообщений: 628
pravednik
TX
desc v$session

PROGRAM VARCHAR2(48)

это не подходит ?

ничего не мешает переименовать екзешник ;)



ааа, отделу безопасности опять мерешатся шпионы )
12 сен 08, 22:40    [6180841]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
I00N
Member

Откуда:
Сообщений: 454
Можно попробовать использовать защищенные роли, "вшив" пароль в разрешенную программу.
12 сен 08, 23:11    [6180876]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
expla
Guest
Проще у всех удалить SQL*Plus.
13 сен 08, 01:45    [6181176]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63939
Блог
Dima Ry
Охота проконтроливать, что все запускают Oracle Forms, а не sqlplus

Лечится ампутацией головы.
13 сен 08, 02:41    [6181200]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
Bauer
Member

Откуда: МСК +3
Сообщений: 580
CREATE OR REPLACE TRIGGER Check_sqlplus
	AFTER LOGON ON DATABASE
	DECLARE	prog VARCHAR2(50);
	BEGIN
	   SELECT SYS_CONTEXT ('USERENV','MODULE') INTO prog FROM DUAL;
			IF upper(prog) like '%PLUS%'
		THEN
				RAISE_APPLICATION_ERROR(-20000, 'Пользоваться утилитой "SQL*Plus" запрещено! (DBA)');
		END IF;
END;

А такая бодяга разве не сработает...?
"Плюс" вроде как "модуль" заполняет же.


Best Regards, Bauer.
13 сен 08, 11:17    [6181325]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
expla
Guest
Наивный. Существует миллион способов указать MODULE отличный от PLUS, в том числе можно указать имя любого легального модуля.

Вообще, всё что находится за пределами сервера может быть фальсифицировано.
13 сен 08, 12:00    [6181355]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
I00N
Member

Откуда:
Сообщений: 454
Bauer
CREATE OR REPLACE TRIGGER Check_sqlplus
	AFTER LOGON ON DATABASE
	DECLARE	prog VARCHAR2(50);
	BEGIN
	   SELECT SYS_CONTEXT ('USERENV','MODULE') INTO prog FROM DUAL;
			IF upper(prog) like '%PLUS%'
		THEN
				RAISE_APPLICATION_ERROR(-20000, 'Пользоваться утилитой "SQL*Plus" запрещено! (DBA)');
		END IF;
END;

А такая бодяга разве не сработает...?

Не факт
13 сен 08, 12:43    [6181396]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
Dima Ry
Member

Откуда: Тольятти, Самара
Сообщений: 118
SQL> create trigger DATABASE_TEST_ALOGON AFTER LOGON ON DATABASE
  2  begin
  3    for c1 in (select s.program from v$session s where sid = sys_context('userenv','sid')
  4    ) loop
  5      insert into scott.test(a) values(
  6        ' m='||sys_context('userenv', 'module')
  7      ||' p='||c1.program
  8      );
  9    end loop;
 10  end;
 11  /

Forms, гад оставляет эти поля пустыми :(
m= p=

иногда только проскакивает m=ifrun60.EXE p=ifrun60.EXE, пока не понял при каких условиях это выдается
15 сен 08, 09:21    [6183812]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
Jetter
Guest
Dima Ry

иногда только проскакивает m=ifrun60.EXE p=ifrun60.EXE, пока не понял при каких условиях это выдается

В этом -то и проблема.... все запуски Forms (Runtime или Developer) имеют null в полях program и module... а обращение из любого другого приложения (даже и переименнованного в ifrun60.exe )сразу фиксируется в поле program
8 окт 08, 20:02    [6281810]     Ответить | Цитировать Сообщить модератору
 Re: имя приложения в v$session  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
Jetter
Dima Ry

иногда только проскакивает m=ifrun60.EXE p=ifrun60.EXE, пока не понял при каких условиях это выдается

В этом -то и проблема.... все запуски Forms (Runtime или Developer) имеют null в полях program и module... а обращение из любого другого приложения (даже и переименнованного в ifrun60.exe )сразу фиксируется в поле program

всё таки: в полях program и module фиксируется/(не фиксируется) обращение ..из любого приложения, которое этого хочет/не хочет ;)
8 окт 08, 20:29    [6281854]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить