У меня есть 3 пользователя Oracle A, B, C и вы хотите использовать B (как промежуточное звено) для импорта таблицы с C на A. При подключении к B я могу запустить «create table A.T1 as select * from T1 @ C». Но когда я ставлю оператор sql в процедуру, которую создает B/владеет, я продолжаю получать «ORA-01031: недостаточно привилегий». Как sysdba, я предоставил все права (dba) B. Так что мне здесь не хватает? Спасибо.Выполняет ли процедура Oracle наследование привилегий своего создателя?
2
A
ответ
2
Предопределил ли вы следующее: B
?
sql> grant create any table to b;
5
В правах того или DEFINER, хранящихся процедуру (по умолчанию), только привилегии, которые доступны являются те, которые предоставлены непосредственно пользователем, а не те, которые были предоставлены через роль (как DBA). Поэтому Пабло прав, что B должен будет иметь привилегию CREATE ANY TABLE в качестве прямого гранта.
Смежные вопросы
- 1. Список привилегий Oracle Procedure Grant
- 2. Oracle создает процедуру привилегий?
- 3. Как программа может скрывать от своего создателя?
- 4. Процедура вызова Oracle Oracle
- 5. Oracle Индексы EXECUTE привилегий объектов
- 6. Oracle хранимая процедура застряла
- 7. процедура создана, но не выполняет
- 8. Oracle процедура исх курсор
- 9. Oracle процедура обновления проблема
- 10. Предоставление привилегий «Создать каталог» в Oracle
- 11. Oracle Jobs выполняет Java
- 12. Oracle Хранимая процедура
- 13. Процедура Oracle немедленно выполнить
- 14. Сохраненная процедура в oracle
- 15. Планирование Хранимая процедура «ORACLE»
- 16. Проблема Oracle «Сохраняемая процедура»
- 17. oracle sql хранимая процедура
- 18. Оптимизация Oracle 11g Процедура
- 19. cfquery oracle хранимая процедура
- 20. Запуск Oracle хранимая процедура
- 21. Написание Oracle Сохраненная процедура
- 22. Как предоставить привилегию предоставления привилегий в Oracle
- 23. Недостаточно привилегий при добавлении ограничения FK (Oracle)
- 24. Триггер Oracle «после создания» для предоставления привилегий
- 25. Обновление привилегий гранта с ограничениями в Oracle
- 26. Oracle: Наследование в триггерах
- 27. Процедура выполнения Oracle на основе подсчета таблицы
- 28. Выполняет ли пользовательский контроль наследование базового класса INotifyPropertyChanged интерфейса?
- 29. Можно ли создать пропустить создателя?
- 30. Oracle plsql процедура не переопределяется
По умолчанию это «Права владельца», а не invokers. – redcayuga
@redcayuga - +1 и спасибо за улов! Вы абсолютно правы. Я обновил свой ответ, чтобы отразить вашу коррекцию. –
"AUTHID DEFINER" ...;) Это значение по умолчанию. Альтернативой является «AUTHID CURRENT_USER», который я всегда хочу попробовать ...! –