Roles in Oracle can contain both system privileges (like CREATE TABLE) and object privileges (like SELECT on a table). Roles can be granted to other roles, enabling privilege hierarchies. Roles cannot be granted to themselves (circular reference). Roles are not owned by SYS specifically - they're schema-independent objects. External authentication can be assigned to roles.