我们在使用基于Web的Oracle 10g Forms应用程序时遇到了问题。
客户端随机断开连接(登录应用程序后可能需要1分钟到3小时)。
Application Server - 运行Oracle Forms 10g的Windows Server 2003 R2
数据库服务器 - Linux服务器也运行Oracle DB
在事件发生时,我们将获得以下登录Apache错误日志。
[2015年8月15日星期六10:26:35] [错误] [客户端ClientIP] [ecid:1439623595:AppServerIP:2760:3216:6822,0] MOD_OC4J_0015:recv()返回0.没有可用的消息接收后,oc4j正常(有序)关闭连接。
[2015年8月15日星期六10:26:35] [错误] [客户端ClientIP] [ecid:1439623595:AppServerIP:2760:3216:6822,0] MOD_OC4J_0054:无法调用网络例程从oc4j接收ajp13消息
[2015年8月15日星期六10:26:35] [错误] [客户端ClientIP] [ecid:1439623595:AppServerIP:2760:3216:6822,0] MOD_OC4J_0033:无法从oc4j收到ajp13消息。
[2015年8月15日星期六10:26:35] [错误] [客户端ClientIP] [ecid:1439623595:AppServerIP:2760:3216:6822,0] MOD_OC4J_0121:无法为网络工作者提供服务请求:OC4J_BI_Forms_15,它是不可恢复。
[2015年8月15日星期六10:26:35] [错误] [客户端ClientIP] [ecid:1439623595:AppServerIP:2760:3216:6822,0] MOD_OC4J_0013:无法呼叫目的地:OC4J_BI_Forms的服务()为服务请求。
另外,我可以在Application.log中看到以下错误(不确定它是否相关)
15/08/15 10:38:19 formsweb:表格会话< 204> aborted:无法与运行时进程通信。
15/08/15 10:38:19 formsweb:表格会话< 204>异常堆栈跟踪:
java.io.IOException:FRM-93000:意外的内部错误。
详细信息:runform中的Content-Length无效或缺失
at oracle.forms.servlet.ListenerServlet.forwardResponseFromRunform(Unknown Source)
at oracle.forms.servlet.ListenerServlet.doPost(Unknown Source)
在javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
在javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.3.0)]。server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:835)
at com.evermind [Oracle Application Server Containers for J2EE 10g(10.1.2.3.0)]。server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341)
at com.evermind [适用于J2EE 10g的Oracle应用服务器容器(10.1.2.3.0)]。server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816)
at com.evermind [Oracle Application Server Containers for J2EE 10g(10.1.2.3.0)]。server.http.AJPRequestHandler.run(AJPRequestHandler.java:231)
at com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.3.0)]。server.http.AJPRequestHandler.run(AJPRequestHandler.java:136)
at com.evermind [Oracle应用服务器容器for J2EE 10g(10.1.2.3.0)]。util.ReleasableResourcePooledExecutor $ MyWorker.run(ReleasableResourcePooledExecutor.java:192)
在java.lang.Thread.run(Thread.java:534)
我们测试了网络,并且在从客户端到应用服务器或数据库服务器的错误发生时没有ping丢弃。端口12502也在应用程序服务器上打开。
之前有没有人遇到过这种错误? 这些日志的含义是什么?
IPv4 Statistics
Packets Received = 771212
Received Header Errors = 0
Received Address Errors = 1435
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 322
Received Packets Delivered = 769487
Output Requests = 779485
Routing Discards = 0
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures = 0
Datagrams Successfully Fragmented = 4
Datagrams Failing Fragmentation = 0
Fragments Created = 8
ICMPv4 Statistics
Received Sent
Messages 5912 5912
Errors 0 0
Destination Unreachable 0 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echos 5902 10
Echo Replies 10 5902
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics for IPv4
Active Opens = 18140
Passive Opens = 23088
Failed Connection Attempts = 149
Reset Connections = 674
Current Connections = 220
Segments Received = 756872
Segments Sent = 771596
Segments Retransmitted = 463
UDP Statistics for IPv4
Datagrams Received = 6522
No Ports = 575
Receive Errors = 267
Datagrams Sent = 1504