原因有可能是oracle的密码过期机制导致的:
一、由于Oracle中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
解决办法:
1、查看用户用的哪种profile策略,一般是default:
select username,profile from dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
二、由于Oracle中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。
1、查看用户的proifle是哪个,一般是default:
select username,PROFILE from dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
select * from dba_profiles s where s.profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
3、将尝试登录失败次数由默认的10次修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;