Role and Global Role Administrators

Role administrators and global role administrators are responsible for granting and revoking user-defined roles to users and other roles. You can add and remove role and global role administrators on a role as needed.

There is no maximum number of role administrators that can be granted to a single role. However, there is a minimum number, as specified by the configurable MIN_ROLE_ADMINS database option. This minimum requirement is validated before you can revoke a role administrator or global role administrator from a role. The minimum number of role administrators can be set to any value between 1 (default) and 10.

A role administrator can be can be a user, a user-extended role, or a user-defined role.

Global role administrators are any users granted the MANAGE ROLES system privilege. Global role administrators can administer any role to which the SYS_MANAGE_ROLES_ROLE system privilege has been granted with administrative rights.

Both role and global role administrators can grant, revoke, and drop roles, and can add or remove role and global role administrators to and from a role. A role administrator can be a user or a role and does not require the MANAGE ROLES system privilege to administer a role.

You can appoint role administrators to a role during the creation process or after the role has been created and indicate whether they are also to be members of the role. If you do not specify any administrators, the global role administrator becomes the default administrator of the role.

If at least one role administrator is specified during role creation, global role administrators will be unable to manage the role because the SYS_MANAGE_ROLES_ROLE system privilege is not automatically granted to the role. For this reason, it is strongly recommended that you either do not define any role administrators when creating a role (add them after creation), or explicitly grant the SYS_MANAGE_ROLES_ROLE system privilege with administrative rights only along with any role administrators during the creation process.

If no role administrator is specified during the creation process, the global role administrator (SYS_MANAGE_ROLES_ROLE system privilege) is automatically granted to the role with administrative only rights.

If role administrators are later added to a role originally created with no role administrators specified, the global role administrator (SYS_MANAGE_ROLES_ROLE system privilege) may or may not be removed, depending on how the role administrators are added. If the GRANT statement is used, the SYS_MANAGE_ROLES_ROLE system privilege remains granted to the role. However, if the CREATE OR REPLACE statement is used, the SYS_MANAGE_ROLES_ROLE system privilege is removed if it is not explicitly included in the new list of role administrators.
Note: You will be unable to remove the SYS_MANAGE_ROLES_ROLE system privilege from a role if so doing would result in a failure to meet the minimum number of role administrators defined.

By default, the SYS_MANAGE_ROLES_ROLE system privilege is not granted to compatibility roles (SYS_AUTH_*_ROLE). Therefore, to allow global role administrators to manage a compatibility role, you must explicitly grant SYS_MANAGE_ROLES_ROLE with administrative rights only to the role.