Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
Здравствуйте, подскажите поожалуйста, каких привилегий не хватает
Есть основная схема a, с таблицами, вьюшками и т.д и т.п.
В схеме b созданы синонимы на все объекты схемы a.
Даны гранты на select на все объекты схемы a схеме b.
В схеме b пытаюсь сделать select на вьюху схемы a.
выдается ошибка ora-01031/
Если в схеме b выполняю селект, на котором основана эта вьюха, то выполняется без проблем.
Пробовала давать гранты на прямую, не помогает :(
2 мар 07, 15:38    [3854732]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
А забыла сказать , что гранты схеме b даны через роль
2 мар 07, 15:43    [3854776]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
сделать select WITH GRANT OPTION на вьюху схемы a
2 мар 07, 15:44    [3854785]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
xymbo
Member

Откуда: Донской --> Москва
Сообщений: 2560
Veronika_Vla
Здравствуйте, подскажите поожалуйста, каких привилегий не хватает
Есть основная схема a, с таблицами, вьюшками и т.д и т.п.
В схеме b созданы синонимы на все объекты схемы a.
Даны гранты на select на все объекты схемы a схеме b.
В схеме b пытаюсь сделать select на вьюху схемы a.
выдается ошибка ora-01031/
Если в схеме b выполняю селект, на котором основана эта вьюха, то выполняется без проблем.
Пробовала давать гранты на прямую, не помогает :(

А как давали гранты?
Так?
2 мар 07, 15:48    [3854823]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
with grant option не помогло :(
К тому же его нельзя давать для роли.
2 мар 07, 15:57    [3854905]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Viewer
сделать select WITH GRANT OPTION на вьюху схемы a

упс .... невнимательно прочитал :(
2 мар 07, 15:57    [3854908]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
текст VIew можно посмотреть? Может там какие хитрости?
2 мар 07, 16:00    [3854926]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
CREATE OR REPLACE VIEW a.for_application_spr_vew (
   id,
   num_reg,
   date_reg,
   why_pay,
   suma,
   nds,
   id_user_dep,
   id_user_cfo,
   id_user_ucfo,
   login_us,
   ostatok,
   id_department,
   id_r_s,
   id_article,
   id_division,
   id_ucfo_art,
   id_cfo,
   id_parent_art,
   id_user_ucfo_art,
   id_smeta,
   komm,
   name_kontr,
   kontr_id,
   kontr,
   r_s_id,
   fio,
   num_v_tgk,
   reestr,
   kvota,
   dogovor,
   sptk,
   ostatt,
   oplata )
AS
select application.id, application.num_reg, application.date_reg, application.why_pay, application.suma, application.nds,
department.id_user,cfo.id_user, ucfo.id_user, lower(application.avtor),application.ostatok,application.id_department,
application.id_r_s, application.id_article, application.id_division, article.id_ucfo,article.id_cfo, article.id_parent,
article.id_user_ucfo, application.id_smeta, application.komm, kontragent.name_kontr, kontragent.id,
kontragent.kontr, r_s.id, users.fio,application.num_v_tgk, application.reestr,application.kvota,
application.num_dog||' '||application.date_dog,application.sptk,
application.suma-(select nvl(sum(payment.sum-nvl(payment.sum_ret,0)),0) from payment where (id_orders=application.id)and(payment.date_vip is not null)/*and(payment.date_ret is null)*/),
(select nvl(sum(payment.sum-nvl(payment.sum_ret,0)),0) from payment where (id_orders=application.id)and(payment.date_vip is not null)/*and(payment.date_ret is null)*/)
from application, department, article, cfo, ucfo, kontragent, users,r_s
where (application.id_department=department.id)and(application.id_article=article.id)
and (article.id_cfo=cfo.id)and(cfo.id_ucfo=ucfo.id)and(r_s.id=application.id_r_s)
and(kontragent.id=r_s.id_kontr)and(users.login=application.avtor)
/

-- Grants for View
GRANT DELETE ON a.for_application_spr_vew TO paymaster
/
GRANT INSERT ON a.for_application_spr_vew TO paymaster
/
GRANT SELECT ON a.for_application_spr_vew TO paymaster
/
GRANT UPDATE ON a.for_application_spr_vew TO paymaster
/
GRANT DELETE ON a.for_application_spr_vew TO taxwork
/
GRANT DELETE ON a.for_application_spr_vew TO users
/
GRANT SELECT ON a.for_application_spr_vew TO users
/
GRANT SELECT ON a.for_application_spr_vew TO b
WITH GRANT OPTION
/
2 мар 07, 16:05    [3854962]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
Еще, не знаю стоило ли об этом упоминать
Но таблицы в схеме а имеют внешние ключи на справочники в другой схеме, назову ее с
2 мар 07, 16:08    [3854996]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
А вообще select-ы не работают ни на одну вьху схемы а.
Так что я думаю хитрость не в предсавлении
2 мар 07, 16:11    [3855023]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Grei
Member

Откуда:
Сообщений: 22
Что-то вы с правами намудрили.

conn scott/tiger@test9;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
Connected as scott
create view v_emp as select * from emp;

View created

conn sys@test9 as sysdba;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
Connected as SYS

create role role1;
Role created

grant role1 to test;
Grant succeeded

conn scott/tiger@test9;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
Connected as scott

grant select on v_emp to role1;
Grant succeeded

conn test/test@test9;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
Connected as test

create synonym v_emp for scott.v_emp;
Synonym created

select * from v_emp where ename='CLARK';

EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7782 CLARK      MANAGER    7839 09.06.1981    2450,00               10
2 мар 07, 16:43    [3855298]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
kennethr
Member

Откуда:
Сообщений: 175
Veronika_Vla
А вообще select-ы не работают ни на одну вьху схемы а.
Так что я думаю хитрость не в предсавлении

ORA-01031: insufficient privileges
Cause
An attempt was made to change the current username or password without the appropriate privilege. This error also occurs if attempting to install a database without the necessary operating system privileges.

Интересно, как эта ошибка связана с view. Чего-то вы недоговариваете.
2 мар 07, 16:58    [3855439]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
чем то мне это напоминает вот это
2 мар 07, 17:12    [3855531]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
KhamRad
Member

Откуда: Казань - Москва :)
Сообщений: 108
Veronika_Vla
Здравствуйте, подскажите поожалуйста, каких привилегий не хватает
Есть основная схема a, с таблицами, вьюшками и т.д и т.п.
В схеме b созданы синонимы на все объекты схемы a.
Даны гранты на select на все объекты схемы a схеме b.
В схеме b пытаюсь сделать select на вьюху схемы a.
выдается ошибка ora-01031/
Если в схеме b выполняю селект, на котором основана эта вьюха, то выполняется без проблем.
Пробовала давать гранты на прямую, не помогает :(


Возможно во view обращаться на обекты других пользователей. Если такие есть, то надо пользователю-владельцу view дать права на эти объекты с опцией with grant option.
Должно заработать!
2 мар 07, 18:00    [3855945]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
KhamRad
Member

Откуда: Казань - Москва :)
Сообщений: 108
KhamRad
Veronika_Vla
Здравствуйте, подскажите поожалуйста, каких привилегий не хватает
Есть основная схема a, с таблицами, вьюшками и т.д и т.п.
В схеме b созданы синонимы на все объекты схемы a.
Даны гранты на select на все объекты схемы a схеме b.
В схеме b пытаюсь сделать select на вьюху схемы a.
выдается ошибка ora-01031/
Если в схеме b выполняю селект, на котором основана эта вьюха, то выполняется без проблем.
Пробовала давать гранты на прямую, не помогает :(


Возможно во view есть обращения на объекты других пользователей. Если такие есть, то надо пользователю-владельцу view дать права на эти объекты с опцией with grant option.
Должно заработать!

Подправил ошибки :)
2 мар 07, 18:01    [3855959]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
Вобщем я поняла на какие представления не хватает привилегий.
У меня в схеме а есть ее таблицы и есть синонимы на схему с
Если представление основано только на таблицах схемы а, то в схеме b проблем нету.
Но если представление в схеме а основано на синонимах на схему с, то в схеме b при селекте получаю ошибку ORA-01031: insufficient privileges
То есть получается цепочка:
В схеме b есть только синонимы на объекты схемы а и привилегии на селект из этих объектов
В схеме a есть синонимы на объекты схемы с и привилегии на селект из этих объектов
b->a->c
При обращении из схемы b к объектам схемы с вознкают проблемы
Подскажите, пожалуйста, каких привилегий не хватает
5 мар 07, 12:14    [3862564]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Elic
Member

Откуда:
Сообщений: 29987
Veronika_Vla
Но если представление в схеме а основано на синонимах на схему с, то в схеме b при селекте получаю ошибку ORA-01031: insufficient privileges
STFF Создание view из объктов разных схем ...
5 мар 07, 12:25    [3862691]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Veronika_Vla
Guest
Спасибо всем!
Теперь все нормально
5 мар 07, 12:59    [3862982]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
hoarfrost
Member

Откуда: Волгоград
Сообщений: 438
Здравствуйте!

0. Oracle 9.2.0.6.

1. Есть схема L, в которой есть таблицы A,B,C и представление V, основанное на таблицах A,B и C. Все таблицы и представление созданы самим пользователем L.

2. Из-под DBA содаю роль R_SELECT_V, пользователя U и делаю GRANT R_SELECT_V TO U.

3. Затем пользователем L делаю GRANT SELECT ON V TO R_SELECT_V.

После этого пользователь U "видит" L.V. - т.е. оно появляется в его ALL_VIEWS. Но при попытке сделать SELECT * FROM L.V, получает сообщение о том, что представление не существует. Ошибка была устранена при помощи GRANT SELECT ON <A,B,C по очереди> TO R_SELECT_V.

Но подобное решение, честно говоря, не очень нравится, т.к. хотелось бы, чтобы пользователь U видел только представление. (Ну хотя бы для того, чтобы никому не вздумалось завязываться на таблицы). Можно ли избавиться от прав на выборку из таблиц? (Если я не ошибаюсь, то подобная конструкция у меня уже работала, но, вроде бы под 10gXE).

К сожалению, не могу привести скриптов создания и выдачи прав, т.к. они осталисть на работе.

Спасибо!
10 ноя 07, 08:17    [4899969]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Elic
Member

Откуда:
Сообщений: 29987
hoarfrost
Но при попытке сделать SELECT * FROM L.V, получает сообщение о том, что представление не существует.
Не верю.
hoarfrost
Ошибка была устранена при помощи GRANT SELECT ON <A,B,C по очереди> TO R_SELECT_V.
Ещё больше не верю.
hoarfrost
К сожалению, не могу привести скриптов создания и выдачи прав
Напрасно Но тем не менее:
RTFM alter user ... default role, set role
STFF Default Role AND GRANT
10 ноя 07, 14:48    [4900325]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
hoarfrost
Member

Откуда: Волгоград
Сообщений: 438
Да я сам своим глазам поначалу не верил. Однако пришлось же GRANT SELECT на таблицу...
10 ноя 07, 18:17    [4900524]     Ответить | Цитировать Сообщить модератору
 Re: Не хватает привилегий при select-у из vew  [new]
Elic
Member

Откуда:
Сообщений: 29987
hoarfrost
Однако пришлось же GRANT SELECT на таблицу...
Тебе показалось, что это помогло. Либо ты чего-то недоговариваешь.
10 ноя 07, 18:21    [4900527]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить