ORA-03137: TTC 协议内部错误,突然收到线上项目告警,系统宕机不能使用了,排查之后发现数据库服务宕机了,手动重启后服务器启动了,通过查看分析数据库日志发现ORA-03137: TTC 协议内部错误
1.问题描述
Oracle数据库宕机,查看数据库日志,报错: ORA-03137: TTC 协议内部错误: [3120] [] [] [] [] [] [] []
2.问题原因
此报错源于oracle 11.2.0.1其中一个bug。
3.解决方法:
1、禁用Bind Peeking
sql
#登录
sqlplus / as sysdba
#禁用
alter system set "_optim_peek_user_binds"=false;
2、将程序使用的JDBC DRIVER升级到11.2.0.2
3、使用数据库版本11.2.0.3及以上,弃用Oracle 11.2.0.1
此bug已在11.2.0.3以上版本修复,可升级此版本或更高
4.案例总结:
如果是生产环境,建议先使用禁用Bind Peeking方案,保证数据可用,之后做数据库升级。
如果是其他非生产环境,建议直接升级oracle数据库版本