Oracle老喜欢做一些自作聪明的操作,用户密码的默认生命周期是180 天,超过时间就会报
ORA-28001:the password has expired
解决办法:
1.切换到Oracle用户:su oracle
2.以管理员的身份登录: sqlplus / as sysdba
3.修改密码:alter user 你的用户名 identified by "密码";
4.提交(可省略):commit
注意:
第二步之后有时候会让输入用户名,可以使用system管理员,和原来的密码登录,
然后继续第三步就可以。
第三步的sql的末尾的英文分号不能省略,必须有
修改数据库密码永不过期:
修改登录失败次数限制,默认是10次,连接失败10次之后会锁表
查看各种配置:select * from dba_profiles
FAILED_LOGIN_ATTEMPTS 属性就是连接失败次数
PASSWORD_LIFE_TIME属性就是密码过期时间,默认是180天
修改连接失败次数为无限
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
单独查看密码过期时间
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
将密码过期时间修改为无限制
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
再回查一下看修改成功没,就可以了