Проблема с GRANT в Oracle 10 - PullRequest
       30

Проблема с GRANT в Oracle 10

3 голосов
/ 14 ноября 2010

У меня есть пользователь admin, у которого есть права администратора и пользователь по умолчанию oracle XE hr.Пользователь admin создал таблицу CAR, роль S и назначил эту роль SELECT на таблицу CAR.Затем администратор предоставил роль S пользователю hr.Но когда hr пытается select * from admin.car, база данных выдает ошибку, что такая таблица или представление не существует.вот код:

create role S;
grant select on admin.car to S;
grant S to hr;

в чем проблема?

1 Ответ

7 голосов
/ 14 ноября 2010

Когда пользователь входит в Oracle, все роли по умолчанию включены, но роли не по умолчанию должны быть включены с помощью оператора SET ROLE:

SET ROLE S;

Установка роли как роли ПО УМОЛЧАНИЮ

Роль по умолчанию означает, что эта роль всегда включена для текущего сеанса при входе в систему. Это также избавляет от необходимости выдавать оператор SET ROLE. Чтобы установить роль в качестве роли ПО УМОЛЧАНИЮ, необходимо выполнить инструкцию ALTER USER:

ALTER USER hr
DEFAULT ROLE S;

Справка:

...