优秀的编程知识分享平台

网站首页 > 技术文章 正文

oracle密码过期(oracle密码过期时间)

nanyue 2024-07-30 03:13:40 技术文章 4 ℃

上班第一天,就遇上了一键烦心事,打开电脑Navicat连不上数据库了,错误信息为

ORA-28001: the password has expired

字面意思理解就是密码过期了

那么我们现在怎么解决呢?

首先使用root登陆服务器(我这里的服务器用的是centos6.3)

1.我们切换到oracle用户

su - oracle

2.尝试登陆

sqlplus 用户名/密码@数据库名

这个时候会提示让你重新设置密码,

你输入之后,还会让你重复一次确认输入,如果两次输入的密码一致那么就结束了,但是你要把所有的配置文件密码更改为你重新设置的这个密码。如果愿意妥协,那么到这里也就结束了,如果不愿意,请往下看

3.我们可以输入以下命令

3.1首先需要以dba角色登录

sqlplus / as sysdba 

3.2查看密码有效期

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

我们可以看到默认的是180天。

3.3更改密码有效期

修改用户密码并设置数据库默认密码为永久有效

 alter user zxx identified by zxx; //重新设置一个密码
 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ; //更改密码永不过期

4.我尝试使用navicat登陆试试

报错ORA-28000: the account is locked

意思是这个账户被锁定了

于是重新使用dba登陆

sqlplus / as sysdba 

输入以下命令,即可解锁账户。正常登陆问题搞定

alter user 要解锁的用户名 account unlock;
最近发表
标签列表