Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание процедуры от определенного пользователя / 9 сообщений из 9, страница 1 из 1
19.10.2016, 06:21
    #39329474
alx71
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
Процедура должна создаваться от определенного пользователя, иначе выдавать ошибку. Как это сделать?
...
Рейтинг: 0 / 0
19.10.2016, 06:25
    #39329475
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
Э-ээ
Если у тебя нет привилегии CREATE ANY PROCEDURE, то ты и не сможешь создать процедуру в чужой схеме
...
Рейтинг: 0 / 0
19.10.2016, 06:28
    #39329476
alx71
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
Есть два пользователя с нужными привилегиями, но определенная процедура должна быть создана только от определенного пользователя. Можно ли это проверять?
...
Рейтинг: 0 / 0
19.10.2016, 07:00
    #39329480
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
Например, триггер на создание
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
tst> connect system/manager@tst
Connected.
tst> create trigger new_u1_proc1 before create on database
  2  when (ora_dict_obj_owner='U1' and
  3        ora_dict_obj_name='PROC1' and
  4        ora_dict_obj_type='PROCEDURE')
  5  begin if user != 'U1' then
  6           raise_application_error(-20001, 'Bad username ('||user||')!!!');
  7        end if;
  8  end;
  9  /

Trigger created.

tst> create procedure U1.proc1 as
  2  begin null;
  3  end;
  4  /
create procedure U1.proc1 as
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Bad username (SYSTEM)!!!
ORA-06512: at line 2


tst> create package U1.proc1 as
  2  a number;
  3  end;
  4  /

Package created.

tst> drop package u1.proc1;

Package dropped.

tst> connect u1/u1@tst
Connected.
tst> create procedure U1.proc1 as
  2  begin null;
  3  end;
  4  /

Procedure created.

tst> drop procedure U1.proc1;

Procedure dropped.

Или создание выполнять в определенном пакете (забрав права CREATE ANY)
...
Рейтинг: 0 / 0
19.10.2016, 07:10
    #39329482
alx71
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
А что-нить типа

$if $$USER != 'WOWKA' $then
$ERROR
$else
create procedure
$end

нельзя?
...
Рейтинг: 0 / 0
19.10.2016, 11:19
    #39329631
Создание процедуры от определенного пользователя
, что тут нужно вообще обойтись без процедур.
Какую задачу-то решить хочешь, alx71?
...
Рейтинг: 0 / 0
20.10.2016, 06:35
    #39330257
alx71
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание процедуры от определенного пользователя
Защититься от создания процедуры не от того, от кого надо, т.к. она использует линки, которые есть только у определенного юзера.
...
Рейтинг: 0 / 0
20.10.2016, 07:41
    #39330262
Создание процедуры от определенного пользователя
alx71,
А по-простому? Не давать пользователю прав создавать процедуры, где не попадя?
...
Рейтинг: 0 / 0
20.10.2016, 08:01
    #39330267
Создание процедуры от определенного пользователя
alx71т.к. она использует линки, которые есть только у определенного юзера.чем дальше в лес, тем больше шишек.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Создание процедуры от определенного пользователя / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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