异常背景
应用正常运行已有一段时间,某天突然出现不能打开oracle数据库连接,sql异常:违反协议
异常原因
oracle默认用户机制,密码180天过期,在还有7天过期时会提示修改密码,次原因导致本次异常的产生
解决方案
sys账号登录oracle,修改密码时限
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
注意:已经提示密码即将过期的账号需要修改密码
alter user 用户名 identified by 密码;
总结
oracle违反协议异常产生原因有多种,未必是驱动包出错,如类似本次情景,应用正常运行一段时间才突然报违反协议异常,极有可能是其他原因导致,比如oracle用户密码过期问题,以及其他原因,因细心排查。