对于初学者,安装Oracle后第一次使用developer开发工具,建立新的连接需要账号和密码,我使用的是system的账号登录(如下图),密码设置为管理口令密码,一般输入好并配置好环境后,都会采取保存的操作,等下次登录时,可直接连接,但经过180天后需要此账号密码过期,则需要重新更新密码。

到了过期时间时,再次连接数据是会报错,报错信息如下图

过期提示:ORA-28001:the password has expired  

 解决的方法:

一。去重新该账号的密码:

1.能够记住账号和旧密码时:打开电脑的CMD,输入SQLplus,再输入该账号:system 和旧的密码,如没有过期则如下图所示。如过期则会提示过期,请重新修改密码。

 2.忘记了旧密码:则采用超级管理员sysdba的身份修改。

a.打开cmd控制台,输入sqlplus/nolog指令启动与oracle数据库进行交互的客户端工具SQL*PLUS

b.键入connect/as sysdba进行操作系统身份认证,实现无密码登陆;

c.键入alter user system account unlock解锁system用户

d.键入alter user system identified by "123456"修改system用户密码(如果密码为数字,要加双引号);

二。重新去更改该账号的有效期

1. 打开cmd,登录system账号

2.查询有效期时间语句:

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

3.更改有效时间语句:

--更新为不限期
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;


--更新为180天
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 180;


--更新为30天
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 30;

PS:本人也是在学习的路上,希望能互相学习和进步。

更多推荐

Oracle数据库连接的账号密码过期的解决教程