Oracle数据库的连接密码默认有效期是180天,如果密码过期了,会出现突然连接不到数据库的问题。java连接会报错:java.sql.SQLException: ORA-28001: the password has expired
a4e510a38e0ff486eb97def29bdca90.png
解决方案一:修改数据库账号密码,并且重启服务(应用)
解决方案二:将密码设置成永不过期
1、切换用户到oracle用户下
su - oracle
2、使用sqlplus连接上数据库
sqlplus "/as sysdba"
3、查询密码有效期设置
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
4、修改profile密码有效期为永久
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
5、修改完成后再查询一下密码有效期,确认是否修改成功
image.png
注意:以上修改之后,不需要重启服务,立即生效的。如果之前还没有提醒到期,则当前密码都变成永久了。如果当前已经提醒过到期了,则需要修改一次密码,才可以正常使用。
网友评论