ORA-01925错误

最近数据库日志文件里频繁报如下错误:

 

ORA-12012: error on auto execute of job 121
ORA-01925: maximum of 30 enabled roles exceeded

 

仔细分析日志后,发现改错误是在几天前开始出现的,几天前刚好对数据库做了监控软件的实施,期间建了个角色,故该错误应该是数据库中的角色数超过了系统设置的角色数引起的。

 

SQL> show parameter role

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
max_enabled_roles                    integer     30

 

 

SQL> select count(distinct role) from dba_roles;

COUNT(DISTINCTROLE)
-------------------
                 32

 

对于oracle9i,max_enabled_roles参数的默认值为30(9i的官方文档上写的默认值是20,这个不知道是不是官方文档的错误)。

 

故对于该问题,可使用如下命令解决:

 

alter system set max_enabled_roles = 100 scope = spfile;
 

该命令需要重新启动数据库,才能生效。

你可能感兴趣的:(ora)