我们正在从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)
答案 0 :(得分:0)
最后,我们添加了关闭数据库连接的方式的问题。
出于某种原因,Oracle 11并不关心,但12c要求更多。
似乎我们在某处错误地处理了连接,因此我们修改了整个源代码以重构代码。我们使用“Using Clause”,Try / Catch / Finally,如有必要,添加Close()和Dispose()指令(并在不需要时删除一些)。
我们还在connectionString上添加了Pool参数,以便更好地进行池管理。
所有这些都解决了我们的问题。