Oracle数据库需要修改默认的Profiles,避免用户密码过期

今天Oracle数据库遇到一个问题,用户在用客户端登陆数据库时,抛出异常:

ORA-00020: maximum number of processes (150) exceeded

从表面上看是Oracle连接的用户过多,但是这是一个开发环境,没有什么系统在使用,就我们几个开发人员用,之前从来没有出现过这个异常,所以也不知道怎么回事。于是在网上Google了一下,解决办法就是把数值设置的大一点,于是我重启了服务器,设置成了300,执行了如下命令。

SQL> alter system set processes=300 scope=spfile;

过来一会儿服务器又提示同样的异常了。于是又重启了服务器,结果发现另外的一个刚才没有注意到的问题,informatica无法使用了。这个时候仔细研究,发现原来是informatica的密码过期了,可能是informatica不断的试着使用过期的密码去连接数据库,导致数据库的连接被占用完,所以其他系统都无法使用数据库了。

原来,Oracle里面在创建用户是我使用的是Default Profile,而这个默认的配置里面,密码的过期策略是180天过期,一看我有好几个数据库用户都要在这两天内过期。解决的办法是修改Default Profile,把密码过期策略改为永不过期。执行的脚步就是:

ALTER PROFILE "DEFAULT" LIMIT
  SESSIONS_PER_USER UNLIMITED
  CPU_PER_SESSION UNLIMITED
  CPU_PER_CALL UNLIMITED
  CONNECT_TIME UNLIMITED
  IDLE_TIME UNLIMITED
  LOGICAL_READS_PER_SESSION UNLIMITED
  LOGICAL_READS_PER_CALL UNLIMITED
  COMPOSITE_LIMIT UNLIMITED
  PRIVATE_SGA UNLIMITED
  FAILED_LOGIN_ATTEMPTS 10
  PASSWORD_LIFE_TIME UNLIMITED
  PASSWORD_REUSE_TIME UNLIMITED
  PASSWORD_REUSE_MAX UNLIMITED
  PASSWORD_LOCK_TIME 1
  PASSWORD_GRACE_TIME 7
  PASSWORD_VERIFY_FUNCTION NULL;

对于已经密码过期的用户,那么就需要重新启用这个用户,设置下密码了,对于快过期而没有过期的用户,那么就不要修改了,都会变成永不过期。

所以建议在安装Oracle数据库后,修改一下Default Profile,把密码改为不过期,毕竟以后很多服务都要不断的定期修改密码很麻烦的,虽然定期修改密码是个好习惯。

posted @ 2011-03-11 17:40  深蓝  阅读(4519)  评论(0编辑  收藏  举报

我要啦免费统计