今天像往常一样登录系统,发现报出了 java.sql.SQLException: 不能在 UTF8 和 UCS2 之间转换: failUTF8Conv 这个错误,查了下网上说可能是数据库驱动或数据库连接配置更新影响的,因为我没有改动过数据库配置,也没有更新数据库驱动的包,所以基本排除,我直接登录数据库居然提示 ORA-28002: 7 天之后口令将过期,改了密码后就可以正常登录了。然后顺便查了下为什么会报这个错误,原来oracle用户的默认密码必须在180天内更改,否则启动数据库时会提示连接失败。看来只要把这个时间改掉以后就不会有这个问题了....
修改默认密码时效方法:
1、管理员账号登录
sql>sqlplus /nolog
sql>connect /as sysdba;
2、查看用户的profile是哪个,一般都为default:
sql>select username,profile from dba_users;
3、查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
4、将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
参考文档:https://blog.csdn.net/majian_1987/article/details/8587114