ORA-01925:maximum of 80 enabled roles exceeded

ORA-01925:maximum of 80 enabled roles exceeded

max_enabled_roles 9i的參数,10g及以后都不用了。
指定用户session的最大enabled roles数。


MAX_ENABLED_ROLES specifies the maximum number of database roles that users can enable, including roles contained within other roles. The actual number of roles that users can enable is 2 plus the value of MAX_ENABLED_ROLES, because each user has two additional roles, PUBLIC and the user's own role.
For example, if MAX_ENABLED_ROLES is set to 5, then user HR can have seven roles enabled (the five enabled by MAX_ENABLED_ROLES, plus PUBLIC and HR).

查查系统用得比較多role的用户,但这样查出来,还不包含以role授予给role再授予用户的嵌套情况
select grantee,count(*) from dba_role_privs group by grantee order by count(*) desc;

也能够直接查当前会话enable的role数量
select count(*) from session_roles;

假设用户登陆不上了,必定是授予太多role了。
能够改大參数,但要重新启动库。
alter system set max_enabled_roles=148 scope=spfile;

嗯,最大值是148。不能设置为更大的了

 


原文地址:https://www.cnblogs.com/clnchanpin/p/7115636.html