Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。
查询密码的有效期设置,LIMIT字段是密码有效天数
select * from dba_profiles where profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
解决方法一:
直接输入原来的密码和你要修改的密码即可(old password和new password可以一样!!!)
解决方法二:
在system管理员(需要DBA权限)用户下执行下面的sql:
select * from dba_profiles s where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
即:将口令有效期默认值180天修改成了“无限制”。
PASSWORD_LIFE_TIME : 密码生命周期,用户密码什么时候到期,单位是天,如图,安装 Oracle 时默认的 PASSWORD_LIFE_TIME 是 180 天, 即 6 个月,其含义就是,我们的用户密码每 6 个月就需要更新(注意: 这里的更新不是指密码需要改变,而是指一个更新动作,可以维持密码不变,但必须执行这个更新动作)