OraOps崩溃w3wp.exe进程

时间:2015-09-23 18:41:24

标签: c# database oracle oracle12c

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

在我们的网站C#上的特定电话中,似乎没有任何事情发生,但我们期待生成PDF。我们屏幕上没有错误,但我们所有的会话变量都丢失了。所以我怀疑IIS池崩溃会重新启动。

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

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 Tracing。我怀疑在DataReader处理之前关闭了错误的连接。

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)

1 个答案:

答案 0 :(得分:0)

最后,我们添加了关闭数据库连接的方式的问题。

出于某种原因,Oracle 11并不关心,但12c要求更多。

似乎我们在某处错误地处理了连接,因此我们修改了整个源代码以重构代码。我们使用“Using Clause”,Try / Catch / Finally,如有必要,添加Close()和Dispose()指令(并在不需要时删除一些)。

我们还在connectionString上添加了Pool参数,以便更好地进行池管理。

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