Oracle数据库报错:ORA-28001: 口令已经失效

Oracle数据库报错:ORA-28001: 口令已经失效

一、报错原因阐述

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

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

二、恢复密码的方法

cmd命令行输入:

   sqlplus / as sysdba

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

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;   

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值