Oracle在启用用户的角色时,最多允许启用148个。

其实这个限制比较奇怪,因为148与2的幂相差较大,不知道Oracle出于什么原因确定的这个值:

SQL> CREATE USER U_ROLE IDENTIFIED BY U_PASSWORD;

用户已创建。

SQL> GRANT CREATE ROLE TO U_ROLE;

授权成功。

SQL> GRANT CREATE SESSION TO U_ROLE;

授权成功。

SQL> CONN U_ROLE/U_PASSWORD已连接。SQL> BEGIN

2  FOR I IN 1..148 LOOP

3  EXECUTE IMMEDIATE 'CREATE ROLE R_' || I;

4  END LOOP;

5  END;

6  /

PL/SQL过程已成功完成。

SQL> SELECT * FROM SESSION_ROLES;

未选定行

SQL> CONN U_ROLE/U_PASSWORD已连接。SQL> SELECT COUNT(*) FROM SESSION_ROLES;

COUNT(*)

----------

148

SQL> CREATE ROLE R_149;

角色已创建。

SQL> CONN U_ROLE/U_PASSWORD

ERROR:

ORA-28031: maximum of 148 enabled roles exceeded

警告:您不再连接到ORACLE。

由于角色的启用是在会话登陆时确定,因此创建完148个角色后,从SESSION_ROLES中查询不到记录。而创建了第149个角色,当再次登陆的时候,Oracle报错。

SQL> CONN / AS SYSDBA已连接。SQL> DROP ROLE R_149;

角色已删除。

SQL> CONN U_ROLE/U_PASSWORD已连接。SQL> CREATE ROLE R_149;

角色已创建。

SQL> SET ROLE ALL;

SET ROLE ALL

*第1行出现错误:

ORA-28031:超出启用角色的最大数148

需要注意,授权角色总数限制包括直接授权的角色和授权给角色的角色的数量:

SQL> DROP ROLE R_149;

角色已删除。

SQL> DROP ROLE R_148;

角色已删除。

SQL> CONN / AS SYSDBA已连接。SQL> CREATE ROLE R_148;

角色已创建。

SQL> GRANT R_148 TO U_ROLE;

授权成功。

SQL> CONN U_ROLE/U_PASSWORD已连接。SQL> CONN / AS SYSDBA已连接。SQL> CREATE ROLE R_149;

角色已创建。

SQL> GRANT R_149 TO R_148;

授权成功。

SQL> CONN U_ROLE/U_PASSWORD

ERROR:

ORA-28031: maximum of 148 enabled roles exceeded

警告:您不再连接到ORACLE。

oracle角色数达到上限,ROLE启用个数限制相关推荐

  1. oracle角色与权限

    一.何为角色? 我在前面的篇幅中说明权限和用户.慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便.因为你要对这组中的每个用户的权限都进行管 ...

  2. oracle常用角色权限,Oracle角色、权限的一些常用视图 - 一夜寒江

    Oracle角色.权限的一些常用视图 ORACLE中数据字典视图分为3大类 , 用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息. USER_*: 有关用户所拥有的对象 ...

  3. oracle xe 最大连接数,解决Oracle XE报错ORA-12516(Oracle回话数超出限制)

    本地安装的OracleXEUniv-oracle特别版,免费用户可以自由使用,但有连接数量和存储限制. 最近遇到一个问题,当我的SSM项目连接本地数据库oracleXE后,我的navicat再连接时就 ...

  4. Oracle用户管理(User|Privileges|Role)

    一.用户管理:   SYS/CHANGE_ON_INSTALL | SYSTEM/MANAGER | SCOTT/TIGER | SYSMAN/OEM_TEMP | INTERNAL/ORACLE   ...

  5. 11gR2集群件任务角色分离(Job Role Separation)简介

    2019独角兽企业重金招聘Python工程师标准>>> 在这篇文章中,我们将对11gR2 的新特性任务角色分离(Job Role Separation)进行介绍. 在11gR2,操作 ...

  6. ORACLE 角色授权

    直接例子: 1.CREATE USER 用户名 identified by 密码 default tablespace 表空间名;GRANT CONNECT TO 用户名; GRANT RESOURC ...

  7. oracle 数据库精简,Oracle角色精简总结

    本帖最后由 zcs0237 于 2013-5-19 19:23 编辑 a.欢迎对本帖补充.建议.更正 b.测试环境rhel5.4+Ora10.2.0.1.0 c.为节省篇幅,部分输出结果做了精简 ** ...

  8. C语言(CED)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。

    )输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出. [输入] 第一行包含一个整数n,表示数组的大小. 第二行包含n个整数,表示数组的元素,整数之间以一个 ...

  9. Java回文数.如12321,123454321(5个数)

    代码: import java.util.Scanner; //回文数.如"12321","123454321"(5个数) public class _04 { ...

最新文章

  1. 有没有办法折叠Eclipse中的所有代码块?
  2. sap.ui.viewModifications view extension
  3. 在 PowerPoint 2016 中嵌入网页
  4. Ethereum 开发简介
  5. java ftp 假死_FTPClient下载文件,程序假死问题
  6. Git - Pull Request工作流
  7. Dubbo SPI的基础Cooma微容器
  8. DIV滚动条滚动到指定位置(jquery的position()与offset()方法区别小记)
  9. 服务器内容推送技术(转)
  10. Centos 启用网卡出现 no link present. Check cable
  11. AS3.0文档类:FLASH右键菜单文档类
  12. 【C语言】07-基本语句和运算
  13. 证件照修改宽高和体积的工具
  14. [面试系列]华为OD社招前端面试复盘
  15. 我真的不懂路由器和交换机的区别
  16. 解决百度云非限速版本被封下载问题
  17. Linux 安装AndroidSdk 并使用zipalign对齐工具完成apk的签名
  18. windows下python subprocess.call使用ffmpeg的问题记录
  19. 以数字技术推动行业跃迁,容联云抢先迈进云联络中心智能化阶段
  20. 《人月神话》(The Mythical Man-Month)3 外科手术队伍(The Surgical Team)

热门文章

  1. Android开发类似苹果iOS 7的沉浸式状态栏
  2. 台式机安装linux软件,台式机如何安装Ubuntu
  3. 论文阅读|《面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法》
  4. 睿联技术在创业板过会:收入依赖摄像机单机,计划募资11亿元
  5. mysql中information_schema数据库
  6. 王曦:大数据人工智能中的运筹与决策科学
  7. 用python画小狗,用turtle画个单身狗送给自己~
  8. 卡牛科技软件测试实习面试题
  9. SWUST OJ 980
  10. C# 实现像QQ一样隐藏窗体