Oracle DBA Роль и ее специфические функции (и возможная замена) - PullRequest
3 голосов
/ 08 февраля 2011

Мне нужно установить сервер приложений, который требует от пользователя записи в базу данных, возможно, создания новых схем и тому подобного. Однако я всегда использовал «обходной путь», чтобы назначить роль DBA этому пользователю.

У меня есть несколько вопросов, так как я не настолько глубоко в безопасности Oracle.

  1. Имеет ли роль администратора базы данных уровень привилегий, который может повлиять на всю установку Oracle?
  2. Где я могу найти, какие именно привилегии имеет роль администратора баз данных?
  3. Как мне создать альтернативную роль?

Спасибо

Ответы [ 2 ]

9 голосов
/ 08 февраля 2011

1) Да, у роли dba должно быть достаточно прав, чтобы испортить базу данных после исправления.

2)

select * 
  from role_sys_privs 
 where grantee = 'DBA';

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

Подробнее об этом можно прочитать в Руководство по безопасности баз данных Oracle, глава 11, Администрирование пользовательских привилегий,Роли и профили

0 голосов
/ 08 февраля 2011

Сначала посмотрите на решение Ронниса.Если этого недостаточно, создайте пакет, принадлежащий SYSTEM, и предоставьте EXECUTE пользователю или пользователям, которые в нем нуждаются.Добавьте процедуры, которые выполняют необходимые операции, стараясь максимально ограничить их мощность.

...