您的位置:首页 > 其它

ORA-28001: the password has expired

2015-06-03 15:50 169 查看
今天在执行程序时,突然报了个这个错,之前项目是正常的,后来一查,是因为oracle11g创建用户缺省密码过期限制是180天(即6个月);

如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个

默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未修改过,就会出现这样的问题。

1.需要使用dba登录.使用cmd/sqlplus 命令或者是pl/sql登录

2.可以执行语句

  SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';



你会看到用户的密码限制是180天后更改

3.解决办法

  (1).你可以直接修改用户密码

      alter user UserName identified by Password;

去除180天的密码生存周期的限制

  (2).你也可以去除180天的密码生存周期的限制,把它变成unlimited

      alter profile default limit password_life_time unlimited;

  这句SQL语句将口令有效期默认值180天修改成了“无限制”。但是出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,建议大家定期修改数据库用户口令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: