oracle不能登录:ORA-28001:the password has expired

oracle不能登录:ORA-28001:the password has expired

很久没有登录oracle了,然后登录的时候就爆出这个错误,原因是密码的有效天数是180天,网上的教程没有哪一篇可以直接解决这个问题

首先网传的使用sqlplus / as sysdba命令,进入oracle数据库,这要么就是协议适配器错误,要么就是要登录用户名和密码,都过期了还登p的用户密码

正解:

1.使用DBA登录

打开cmd到sqlplus.exe所在目录下,然后执行sqlplus /nolog(注:找不到文件路径的下载一个everything软件,很方便定位到文件所在路径)

2. conn /as sysdba

这样便会以dba登陆到数据库,如果登陆不上去,报适配器的错误,则先在cmd中输入

set oracle_sid=orcl,再连接数据库

3.现在可以查看一下自己的密码有效期

select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';(记得打分号哟)

4.修改自己用户的密码

alter user 用户名 identified by 密码;

哎呀,可能你会像自己的用户名是啥呀

我的解决办法是使用sqldeveloper(oracle可视化工具)

oracle不能登录:ORA-28001:the password has expired

然后密码就自己箱一个输

5. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

这一步之后就将密码改成了永久

6.在可视化界面中

oracle不能登录:ORA-28001:the password has expired

到这就大功告成了