本文介绍了OraOps崩溃w3wp.exe进程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在从Oracle 11g升级到12c.在Microsoft Azure中的新VM计算机上.

We are upgrading from Oracle 11g to 12c. On a new VM machine in Microsoft Azure.

在对我们的网站C#的特定调用中,视觉上似乎什么都没有发生,但是我们希望生成PDF.屏幕上没有错误,但是所有会话变量都丢失了.因此,我怀疑IIS池崩溃会自行重启.

On a specific call on our Website C#, visually nothing seems to happen, but we are expecting a PDF to be generate. We got no error on the screen, but all our sessions variables are lost. So I suspected a IIS Pool Crash that restart itself.

在EventViewer中,我们有4个条目:

In the EventViewer we have 4 entries:


Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: w3wp.exe
P2: 8.5.9600.16384
P3: 5215df96
P4: KERNELBASE.dll
P5: 6.3.9600.17415
P6: 54505737
P7: e0434352
P8: 0000000000008b9c
P9:
P10:

Attached files:

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_581137a17c847dd9f7a031c3aa3f034922c43eb_9e3fd63b_15d86310

Analysis symbol:
Rechecking for solution: 0
Report Id: af7a2d91-61fe-11e5-80d7-000d3a120856
Report Status: 4100
Hashed bucket:

Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: KERNELBASE.dll, version: 6.3.9600.17415, time stamp: 0x54505737
Exception code: 0xe0434352
Fault offset: 0x0000000000008b9c
Faulting process id: 0x3f8
Faulting application start time: 0x01d0f60a6cd8b18e
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: af7a2d91-61fe-11e5-80d7-000d3a120856
Faulting package full name:
Faulting package-relative application ID:

Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: w3wp.exe
P2: 8.5.9600.16384
P3: 5215df96
P4: OraOps12.dll
P5: 2.121.2.0
P6: 54901d98
P7: c0000005
P8: 0000000000017ff5
P9:
P10:

Attached files:

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_a4d182c0c99e9b38629c62a88d0c14f07b7de2_9e3fd63b_0a985f09

Analysis symbol:
Rechecking for solution: 0
Report Id: aeb6b548-61fe-11e5-80d7-000d3a120856
Report Status: 4100
Hashed bucket:

Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: OraOps12.dll, version: 2.121.2.0, time stamp: 0x54901d98
Exception code: 0xc0000005
Fault offset: 0x0000000000017ff5
Faulting process id: 0x3f8
Faulting application start time: 0x01d0f60a6cd8b18e
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\oracle\product\12.1.0\client_1\bin\OraOps12.dll
Report Id: aeb6b548-61fe-11e5-80d7-000d3a120856
Faulting package full name:
Faulting package-relative application ID:

经过大量的调整和测试后,我激活了Oracle跟踪.我怀疑在DataReader处置之前会关闭错误的连接.

After a lot of tuning and testing I activated the Oracle Tracing. Where I suspect a Wrong Connection Close before a DataReader Dispose.


TIME:2015/09/23-10:58:14:002 TID:1130  (ENTRY) OpsConCheckConStatus(): (7edf09f0)=2128546288
TIME:2015/09/23-10:58:14:018 TID:1130  (opsConCheckConstatus) OCIPing(0) called
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OpsConCheckConStatus(): RetCode=0 Line=3290 (7edf09f0)=2128546288
TIME:2015/09/23-10:58:14:018 TID:1130  (ENTRY) OpsConAllocValCtx()
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OpsConAllocValCtx(): RetCode=0 Line=443
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OracleConnection::Close()
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OracleDataReader::Dispose()
TIME:2015/09/23-10:58:14:018 TID:1130  (ENTRY) OracleParameter::OracleParameter(2)
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OracleParameter::OracleParameter(2)
TIME:2015/09/23-10:58:14:018 TID:1130  (ENTRY) OracleParameter::OracleParameter(2)
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OracleParameter::OracleParameter(2)
TIME:2015/09/23-10:58:14:018 TID:1130  (ENTRY) OracleCommand::OracleCommand(1)
TIME:2015/09/23-10:58:14:018 TID:1130  (EXIT)  OracleCommand::OracleCommand(1)

推荐答案

最后,我们在关闭数据库连接的方式上遇到了问题.

Finally, we add a problem with the way we were closing our DB Connection.

出于某种原因,Oracle 11不在乎,但是12c要求更多.

For some reason Oracle 11 doesn't care but 12c ask for more.

似乎我们在某个地方处理了连接错误,因此我们修改了整个源代码以重构代码.我们使用使用子句",尝试/捕获/最后,在必要时添加Close()和Dispose()指令(并在不需要时删除一些).

It's seem that somewhere we were mishandling the connection, so we revised our entire source for refactoring our code. We use "Using Clause", Try/Catch/Finally, add Close() and Dispose() instruction if necessary (and remove some when not needed).

我们还在我们的connectionString上添加了Pool参数,以实现更好的池管理.

We also add Pool parameters on our connectionString for better pool management.

所有这些都解决了我们的问题.

All of that fix our problem.

这篇关于OraOps崩溃w3wp.exe进程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 00:43