Роль администратора базы данных Oracle и ее конкретные функции (и возможная замена)

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

У меня есть несколько вопросов, так как я не очень хорошо разбираюсь в безопасности Oracle.

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

Спасибо,


person Shyam    schedule 08.02.2011    source источник
comment
Какой сервер приложений настолько плох, что для его работы требуется SYSDBA?   -  person Stephanie Page    schedule 08.02.2011
comment
@StephaniePage: привилегия SYSDBA не является ролью, не может быть назначена роли и не является частью роли DBA. OP не говорит о привилегии SYSDBA. Также он четко указал необходимый ему функционал; создать схемы.   -  person Wouter    schedule 16.03.2016


Ответы (2)


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

2)

select * 
  from role_sys_privs 
 where grantee = 'DBA';

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

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

person Ronnis    schedule 08.02.2011

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

person redcayuga    schedule 08.02.2011
comment
Если вам не нравится создавать объекты в SYSTEM, создайте нового пользователя, как предложил Роннис, и создайте пакет там. - person redcayuga; 16.02.2011