[20151110]oracle可以启用多少role.txt

[20151110]oracle可以启用多少role.txt

--链接http://blog.itpub.net/4227/viewspace-676078/

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

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

BEGIN
FOR I IN 1..148 LOOP
EXECUTE IMMEDIATE 'CREATE ROLE R_' || I;
END LOOP;
END;
/

CREATE ROLE R_149;

SCOTT@test01p> SET ROLE ALL;
SET ROLE ALL
*
ERROR at line 1:
ORA-28031: maximum of 148 enabled roles exceeded

SCOTT@test01p> SET ROLE ALL;
SET ROLE ALL
*
ERROR at line 1:
ORA-28031: maximum of 148 enabled roles exceeded

--我自己查询参数参数:

SYS@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SYS@book> show parameter role
NAME               TYPE     VALUE
------------------ -------- ------
max_enabled_roles  integer  150
os_roles           boolean  FALSE
remote_os_roles    boolean  FALSE

SYS@book> alter system set max_enabled_roles=151 scope=spfile;
alter system set max_enabled_roles=151 scope=spfile
*
ERROR at line 1:
ORA-00068: invalid value 151 for parameter max_enabled_roles, must be between 1 and 148

--无法更改这个数值更大. 不过还是觉得很奇怪150 与 148 相差2. 难道缺省有2个是默认的.
--最容易想到的public,参看dba_roles的视图定义:

CREATE OR REPLACE FORCE VIEW SYS.DBA_ROLES
(
   ROLE
  ,PASSWORD_REQUIRED
  ,AUTHENTICATION_TYPE
)
AS
   SELECT name
         ,DECODE
          (
             password
            ,NULL, 'NO'
            ,'EXTERNAL', 'EXTERNAL'
            ,'GLOBAL', 'GLOBAL'
            ,'YES'
          )
         ,DECODE
          (
             password
            ,NULL, 'NONE'
            ,'EXTERNAL', 'EXTERNAL'
            ,'GLOBAL', 'GLOBAL'
            ,'APPLICATION', 'APPLICATION'
            ,'PASSWORD'
          )
     FROM user$
    WHERE type# = 0 AND name NOT IN ('PUBLIC', '_NEXT_USER');

--可以发现有2个排除在外.这样默认角色PUBLIC好理解,后面_NEXT_USER一般增加用户后user#会加1(不是角色).
--实在不知道另外1个是什么?

时间: 2024-08-19 00:21:29

[20151110]oracle可以启用多少role.txt的相关文章

[20151110]Oracle Direct NFS Client.txt

[20151110]Oracle Direct NFS Client.txt --摘要链接:http://www.askmaclean.com/archives/setup-oracle-direct-nfs-client.html 在Oracle 11g中引入了Direct Network File System(Oracle Direct NFS)的新特性,通过一个打包在Oracle内核中的NFS客户机以改善实 例使用NFS时的性能,同时进一步完善了通过NFS实现RAC的解决方案.常规的NF

[20170824]11G备库启用DRCP连接.txt

[20170824]11G备库启用DRCP连接.txt --//参考链接: http://blog.itpub.net/267265/viewspace-2099397/ blogs.oracle.com/database4cn/adg%e5%a4%87%e5%ba%93%e7%9a%84drcp%e8%bf%9e%e6%8e%a5%e6%8a%a5%e9%94%99oci-21500%e8%a7%a3%e5%86%b3%e4%b8%80%e4%be%8b 1.测试环境: SYS@bookdg>

mysql-java里面怎么将oracle中的表存到txt文档中

问题描述 java里面怎么将oracle中的表存到txt文档中 通过java连接上数据库以后.怎么讲数据库中的整张表通过流写入到txt文档中.具体用那个流,请大神写下详细代码.谢谢 解决方案 http://download.csdn.net/detail/ceolaoda/8961205 解决方案二: 先获取数据库数据,然后创建对应路径下的txt文件,然后写入对应的数据字符串. 创建类然后在里面写如下方法测试: //操作一:向文件里面写入数据 //方法一. // FileWriter fw =

[20170310]oracle内部时间戳的转换.txt

[20170310]oracle内部时间戳的转换.txt --//昨天验证v$archived_log.stamp时,链接如下http://blog.itpub.net/267265/viewspace-2135044/,才发现自己以前犯了严重错误. --//想起http://www.juliandyke.com/Diagnostics/Dumps/RedoLogs.php转储redo时time参数使用: TIME The minimum and maximum time is a decima

[20130104]oracle能有多少子光标.txt

[20121019]oracle能有多少子光标.txt 原链接:http://www.antognini.ch/2012/10/how-many-children-can-a-parent-cursor-have-1000000/ 看看oracle可能有多少子光标,也就是最大是多少?重复原作者的测试看看. 我的测试环境: SQL> select * from v$version where rownum BANNER ---------------------------------------

[20140424]oracle的逻辑坏块.txt

[20140424]oracle的逻辑坏块.txt 今天上午本来想做一个11GR2的Automatic block media repair,链接如下:http://blog.itpub.net/267265/viewspace-1148315/ 但是我遇到一个奇怪的问题,检查和的计算问题: SYS@test> @ver BANNER --------------------------------------------------------------------------------

[20130803]ORACLE 12C RMAN 功能增强.txt

[20130803]ORACLE 12C RMAN 功能增强.txt 在oracle 12c rman中可以直接输入sql语句,缺点就是仅仅输出最大仅仅80列,不知道如何调整. d:\tmp>rman target sys/xxxx@test01p Recovery Manager: Release 12.1.0.1.0 - Production on Fri Aug 2 22:53:49 2013 Copyright (c) 1982, 2013, Oracle and/or its affi

如何在Oracle存储过程中拥有role权限

我们知道,用户拥有的role权限在存储过程是不可用的.如: SQL> select * from dba_role_privs where grantee='SUK'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------ ------------SUK DBA NO YESSUK CONNECT NO YESSUK RESOURCE NO YES 用户SUK拥有DBA这个role 再创建一个测试存储过程: create or re

在Oracle中启用AutoTrace查看SQL执行计划

  通过以下方法可以把Autotrace的权限授予Everyone, 如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权. D:oracleora92>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 3 15:16:03 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL>