知方号

知方号

Oracle数据库报错:ORA

Oracle数据库报错:ORA

Oracle数据库报错:ORA-28001: 口令已经失效 一、报错原因阐述二、恢复密码的方法三、其他

一、报错原因阐述

Oracle客户端或者JDBC连接Oracle的时候,提示ORA-28001或者ORA-28002错误

是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未修改过,就会出现这样的问题。

二、恢复密码的方法

cmd命令行输入:

sqlplus / as sysdba

修改密码,修改时密码不变,但有效期增加:

alter user 用户名 identified by account unlock; ----不用换新密码

提示:用户名,注意不是数据库名! 注意:oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。 再次测试登录即可。

三、其他

1、通过如下sql查询所有用户密码有效期配置。

sql>SELECT username,PROFILE FROM dba_users;

上述sql查询结果一般为default

2、使用如下sql可以查询到default的默认值

sql>select * from dba_profiles where profile = ‘DEFAULT‘ and resource_name = ‘PASSWORD_LIFE_TIME‘

3、将默认的有效期改为无限期:

sql>alter profile default limit password_life_time unlimited;

这种方法生产环境应该不太适用,因为还要重启才生效

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。