kennethr
Дата: 02.03.2007 16:58:27
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. Чего-то вы недоговариваете.
Veronika_Vla
Дата: 05.03.2007 12:14:08
Вобщем я поняла на какие представления не хватает привилегий.
У меня в схеме а есть ее таблицы и есть синонимы на схему с
Если представление основано только на таблицах схемы а, то в схеме b проблем нету.
Но если представление в схеме а основано на синонимах на схему с, то в схеме b при селекте получаю ошибку ORA-01031: insufficient privileges
То есть получается цепочка:
В схеме b есть только синонимы на объекты схемы а и привилегии на селект из этих объектов
В схеме a есть синонимы на объекты схемы с и привилегии на селект из этих объектов
b->a->c
При обращении из схемы b к объектам схемы с вознкают проблемы
Подскажите, пожалуйста, каких привилегий не хватает
hoarfrost
Дата: 10.11.2007 08:17:19
Здравствуйте!
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).
К сожалению, не могу привести скриптов создания и выдачи прав, т.к. они осталисть на работе.
Спасибо!