上周末,同事将HR的数据库从10G X32升级到 10G X64,采取 EXPDP / IMPDP方式,升级过程顺利。周一上班,8点多,AP人员反映无法连接数据库。检查数据库,发现Oracle service shutdown,系统报如下错误:
Event ID: 7034
The OracleServiceHR service terminated unexpectedly. It has done this 2 time(s).
For more information, see Help and Support Center at
以为偶发状况,重新启动service,数据库恢复。大约20分钟后,数据库Service又Shutdown.检查数据库参数,发现采用Oracle默认参数设定,未修改。物理内存为16G, SGA给的相当小,调整 SGA由1.6 G 到10 G,重新启动, 11点左右,再次发生异常。
检查系统日志,发现如下异常:
Event ID: 1000
Faulting application oracle.exe, version 10.2.0.3, faulting module oracle.exe, version 10.2.0.3, fault address 0x0000000000fe4249.
上metalink上查找,发现是Oracle的Bug,编号为6122521,详细内容如下,需要上Patch 14才能解决。12点休息时间上了此Patch,问题解决,未在发生异常。具体如下:
The OracleService Crashes On Windows x64 Connecting With Old Client Versions [ID 470988.1] |
|||
| |||
Modified 03-DEC-2009 Type PROBLEM Status PUBLISHED |
|||
In this Document
Symptoms
Cause
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.3
z*OBSOLETE: Microsoft Windows Server 2003 R2 (64-bit AMD64 and Intel EM64T)
Microsoft Windows x64 (64-bit)
z*OBSOLETE: Microsoft Windows XP (64-bit AMD64 and Intel EM64T)
***Checked for relevance on 03-DEC-2009***
-- Problem Statement:
Using a new installation of 10.2.0.1 64-bit on Windows x64 with patch set 10.2.0.3 applied.
In this case no database has been tested with 10.2.0.1 as a full export of a 9.2.0.6 32-bit export dump was imported directly into 10.2.0.3.
Now the database crashes regularly without any messages in the alert.log.because the oracle.exe (for the Windows OracleService<SID>) just fails repeatedly.
The Windows Event Viewer Application log shows similar errors like below.
Note that these errors are also logged into the RDA report.
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 07.12.2007
Time: 11:10:07
User: N/A
Computer: SBPFMTX5654
Description:
Faulting application oracle.exe, version 10.2.0.3, faulting module oracle.exe, version 10.2.0.3, fault address 0x0000000000fe4249.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 6f 72 61 ure ora
0018: 63 6c 65 2e 65 78 65 20 cle.exe
0020: 31 30 2e 32 2e 30 2e 33 10.2.0.3
0028: 20 69 6e 20 6f 72 61 63 in orac
0030: 6c 65 2e 65 78 65 20 31 le.exe 1
0038: 30 2e 32 2e 30 2e 33 20 0.2.0.3
0040: 61 74 20 6f 66 66 73 65 at offse
0048: 74 20 30 30 30 30 30 30 t 000000
0050: 30 30 30 30 66 65 34 32 0000fe42
0058: 34 39 49
The most probable root cause are connection attempts from Clients <= 8.1.7.4.
This is based on the following bug reports.
Internal/unpublished bug report
Bug 6122521/6012921 - DATABASE SERVICE CRASHES WHEN A CLIENT CONNECTS
Published bug report
Bug 6012921 - 10.2.0.3 DATABASE SERVICE CRAHSES WHEN CONNECTING FROM REMOTE CLIENTS <= 8.1.7.4
Bug 6122521 mentions specifically this problem of the database crashing DOES NOT occur
until the 10.2.0.3 patch set is applied. In other words, on different databases that are at 10.2.0.1.0 (base release) on the same 64-bit Windows platform, attempts to connect with these older client tools do not crash the database service.
According to Bug 6012921 this issue has been fixed in 10.2.0.3 patch 7.
-- To implement the solution, please execute the following steps::
1. Apply a recent 10.2.0.3 patch bundle for Windows x64, e.g. 10.2.0.3 patch 14 or newer.
Patch bundle 10.2.0.3 patch 14 can be downloaded as
Patch 6627414 Oracle Database Family: Patch
ORACLE 10.2.0.3 PATCH 14 BUG FOR WINDOWS-64 AMD64 AND INTEL EM64T XP AND 2003
File: p6627414_10203_MSWIN-x86-64.zip
2. Upgrade all Clients <= 8.1.7.4 to at least 8.1.7.4 because of the interoperability limitations of the different Oracle versions.
Please note that 8.1.7 is in fact no longer supported.
Refer to
Note 207303.1 - Client / Server / Interoperability Support Between Different Oracle Versions
BUG:6154936 - DATABASE CRASH WITH NO ERRORS IN ALERTLOG
NOTE:207303.1 - Client / Server / Interoperability Support Between Different Oracle Versions