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,建议大家定期修改数据库用户口令。
如果超过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,建议大家定期修改数据库用户口令。
相关文章推荐
- Facebook Paper使用的第三方库
- 冲刺第二阶段
- 微信支付调用JSAPI缺少参数:timeStamp
- java中的属性和字段
- [leetcode] Combination Sum III
- 深入了解Windows句柄到底是什么
- iOS UIView layer动画 总结(多谢前辈们分享)
- iOS功能特性
- java-java多线程与并发编程专题
- 单例模式简单实现
- ffplay.c函数结构简单分析(画图)
- mac下安装ruby环境
- CGAL Cookbook --泛型编程(类模板)
- sqlserver 随机查询性能
- UMeditor在线web编辑器 -- python版
- android 布局
- 第一章
- Bandwagon Host – 64M内存 1.5G硬盘 100G流量 年3.99美金
- MyBatis 环境简单搭建
- 前端一些词汇的缩写