oracle11g环境,alert日志一直报如下日志:
Wed Aug 07 09:40:46 2024
Maximum of 148 enabled roles exceeded for user ZHIS. Not loading all the roles.
Maximum of 148 enabled roles exceeded for user ZHIS. Not loading all the roles.
检查角色授权:
select distinct connect_by_root grantee,granted_role
from dba_role_privs
connect by prior granted_role=grantee
start with grantee='ZHIS';
CONNECT_BY_ROOTGRANTEE GRANTED_ROLE
------------------------------ ------------------------------
ZHIS DBA
。。。。。。。。。
ZHIS RESOURCE
150 rows selected.
发现有250条角色授权记录。
检查配置:
SQL> show parameter MAX_ENABLED_ROLES
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_enabled_roles integer 150
max_enabled_roles实际上配置只能从0到148,所以配置就算是150,生效148,所以超过148的角色就不会加载进入了。
要去掉这个日志,可以设置一个默认角色,因为查到用户有分配DBA角色,包含了最大权限,所以就把默认角色设置为DBA:
SQL> alter user ZHIS default roles DBA;
User altered.