Oracle数据库需要修改默认的Profiles,避免用户密码过期-阿里云开发者社区

开发者社区> 数据库> 正文

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,把密码改为不过期,毕竟以后很多服务都要不断的定期修改密码很麻烦的,虽然定期修改密码是个好习惯。

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章