我想创建一个连接为系统的角色。但是,因为我有很多包含许多角色的模式,并且所有这些模式都将以这种方式创建,所以我不希望将创建的角色授予SYSTEM (否则它最终将超过148个角色的限制)。
=>是否可以禁用创建者上的自动授权?
注意:目前我使用的是Oracle 9i,但它很快就会升级到11g
发布于 2012-10-04 15:53:09
我的答案分为两部分:
Oracle中的
148个角色限制适用于活动角色,例如,请参阅oracle 10g的文档链接:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6012.htm#sthref7227
要禁用默认角色,请使用ALTER USER ...DEFAULT ROLE ...,请参见http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.htm#sthref5717
发布于 2012-10-04 15:51:19
一次可为单个用户启用的用户定义角色的最大数量为148。
你可以随意创建多个角色--只是不要一下子把它们都启用。
当您创建角色(用户角色除外)时,系统会隐式授予您该角色并将其添加为默认角色。如果您有多个MAX_ENABLED_ROLES,则登录时会收到错误。您可以通过将用户的默认角色更改为小于MAX_ENABLED_ROLES来避免此错误。因此,您应该在创建用户角色之前更改SYS和SYSTEM的默认角色设置。
http://docs.oracle.com/cd/B10500_01/server.920/a96521/privs.htm#15539
例如:
ALTER USER SYSTEM DEFAULT ROLE DBA
https://stackoverflow.com/questions/12722548
复制相似问题