Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Транзит прав на Oracle

497
29 января 2007 года
IL84
267 / / 24.04.2003
Идея:

Есть БД Oracle, в ней схемы A,B,C. В схеме A есть таблица T1, в схеме B есть представление V1, которое берет данные из A.T1; в схеме C есть права на SELECT из A.T1, и B.V1.

Я логинюсь через TOAD в схему C и пытаюсь выполнить запрос
 
Код:
SELECT * from B.V1

на что получаю сообщение "insufficient priveleges". Причем запрос
 
Код:
SELECT * from A.T1

в схеме C работает.

Т.о. цепочка A->B->C не работает, хотя все необходимые права везде есть. Кто-нибудь сталкивался с таким? И как это можно решить?
497
29 января 2007 года
IL84
267 / / 24.04.2003
Проблема решена. Тот, кто дает права схеме B на чтение A.T1 должен дать их с GRANT OPTION.
294
31 января 2007 года
Plisteron
982 / / 29.08.2003
Я маленько запутался в ABC, T1/V1 (у нас уже ночь, и я не соображаю ничего) но, вкратце, хочу сказать: представления (равно как и хранимые процедуры, триггеры, пакеты и т.п.) открываются/исполняются не с правами пользователя, под которым ты подключаешься, а с правами пользователя, являющегося владельцем представления (процедуры/триггера/пакета). grant option, понятное дело, позволяет делегировать права на чтение, запуск или какие-либо другие привилегии другому.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог