今天帮人解决这个问题,由于一开始不知道8i参数文件的结构,所以搞了半天才解决:
def_SID.ora--initSID.ora--pwdSID.ora
以上是oracle 8i的参数文件结构:
也就是由def_SID.ora文件定向initSID.ora参数文件,而且我们知道如果在参数设置时,
oracle是以最后出现的参数为准的,看下面的例子:
假如def_SID.ora文件内容如下:
pfile=%ORACLE_HOME%/database/initSID.ora
pwdfile=%ORACLE_HOME%/pwdfileSID.ora
SID.max_enabled_roles=30
而如果 max_enabled_roles这个参数也存在于initSID.ora的话,则这时参数值还是以30为准。
下面的情况是以initSID.ora参数为准的情况:
SID.max_enabled_roles=30
pfile=%ORACLE_HOME%/database/initSID.ora
pwdfile=%ORACLE_HOME%/pwdfileSID.ora
另外我们还要理解max_enabled_roles这个参数含义,以下来自oracle 10g官方文档:
注:
此参数是不推荐MAX_ENABLED_ROLES是为了向后兼容只保留。
MAX_ENABLED_ROLES specifies the maximum number of database roles that users can enable, including roles contained within other roles.
MAX_ENABLED_ROLES指定数据库角色的最大数量的用户可以启用,包括在其他角色中的作用。
The actual number of roles that users can enable is 2 plus the value of MAX_ENABLED_ROLES , because each user has two additional roles, PUBLIC and the user's own role.
该角色的实际数量,用户可以启用为2加上MAX_ENABLED_ROLES的价值,因为每个用户都有两个额外的角色, PUBLIC和用户自己的角色。
For example, if MAX_ENABLED_ROLES is set to 5 , then user HR can have seven roles enabled (the five enabled by MAX_ENABLED_ROLES , plus PUBLIC and HR ).
例如,如果MAX_ENABLED_ROLES设置为5那么用户HR可以有7种角色启用(5启用MAX_ENABLED_ROLES加上PUBLIC和 HR )。
而实际上到10g过后,这个参数已经被废弃了。
如果我们修改的话,在启动数据库时会出现错误提示:
ORA-32004: obsolete and/or deprecated parameter(s) specified
sys@ORCL>select * from v$version;
BANNER
----------------------------------------------------------------
Personal Oracle Database 10g Release 10.2.0.1.0 - Production
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
sys@ORCL>select name,value from v$parameter where ISDEPRECATED='TRUE';
max_enabled_roles 3
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23102627/viewspace-631317/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23102627/viewspace-631317/