Роли в базе данных Oracle не имеют владельца, а каталоги не имеют владельца.
Когда пользователь с привилегией CREATE ROLE
или SYSDBA
создает эту роль, ему автоматически назначается эта роль, WITH ADMIN OPTION
что означает, что пользователь может впоследствии предоставить эту роль другим пользователям, даже если эта привилегия CREATE ROLE
отозвана у пользователя.
Вы можете увидеть, какие роли назначены для каких пользователей, запрашивающих DBA_ROLE_PRIVS
просмотр, или USER_ROLE_PRIVS
если вы хотите знать, какие роли назначены текущему пользователю.
Кроме того, пользователь не может создать роль, если роль с таким именем уже существует. Однако вы можете проверить создание и предоставление ролей. Вы можете сделать это с помощью оператора AUDIT ROLE (если он по какой-то причине был отключен с помощью NOAUDIT ROLE
), а затем запросить DBA_AUDIT_TRAIL
представление.