我们生产服务器中的一个数据库发出监控告警日志的邮件,内容如下所示,在31号09:11分出现了大名鼎鼎的ORA-00600错误。
Dear All:
The Instance xxx' alert log occured the ora errors ,please see the detail blow and take action for it. many thanks!
----------------------------------------- The errors is blow-----------------------------------------------
56 | Mon Mar 31 09:11:33 2014 | ORA-00600: internal error code, arguments: [17281], [1001], [0x1FF863EE8], [], [], [], [], []
57 | Mon Mar 31 09:11:33 2014 | ORA-01001: invalid cursor
---------------------------------------------end of errors--------------------------------------------------
从Oracle metalink上查到如下内容:
Applies to:
Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.2.0.0. [Release 9.2 to 11.2] Information in this document applies to any platform.
*** Checked for relevance on 5-Jun-2013 ***
You are seeing the following error message when running queries.:
ORA-00600: internal error code, arguments: [17281], [1001], [0x18E3EE690], [], [], [], [], []
You may or may not see this error message as well.:
ORA-01001: invalid cursor
This issue can be related to running SQL through TOAD.
You can check if TOAD was the client that resulted in the error from the process state dump in the trace file, it will show:
program: TOAD.exe / application name: TOAD.exe
Solution
You can also overcome this by patching the Oracle Client software as follows.:
1. Fix unpublished Bug 4359111, if the Oracle software is 10.1.0.4 or below. Patches for this bug can be found on My Oracle Support under Patch:4359111.
2. Fix unpublished bug 5910901 by applying Patch:5910901 if the Oracle software is 10.1.0.5 or above,
3. Apply the 10.2.0.4 patch set or above on the client.
4. You can change the non-Oracle client software being used,
5. You can just ignore the error as it is non-corruptive.
6. Run the queries directly through SQLPLUS instead of using TOAD.
Note:
Ensure that your version of TOAD is compatible with the version of the database as well. If the errors continue when using TOAD, but not with SQL*Plus, contact TOAD support to request a fix.
我数据库报错为ORA-00600: internal error code, arguments: [17281], [1001], [0x1FF863EE8], [], [], [], [], [] ,但是metalink文档错误为ORA-00600: internal error code, arguments: [17281], [1001], [0x18E3EE690], [], [], [], [], [],即只是细微差别。那么到底是不是Toad.exe引起的还很难说。于是检查告警日志文件。
Errors in file /u01/app/oracle/admin/SCM2/bdump/scm2_s001_23744.trc:
ORA-00600: internal error code, arguments: [17281], [1001], [0x1FF863EE8], [], [], [], [], []
ORA-01001: invalid cursor
Mon Mar 31 09:29:21 2014
接下来我去查看/u01/app/oracle/admin/SCM2/bdump/scm2_s001_23744.trc文件,看能否在trace文件中找到program: TOAD.exe / application name: TOAD.exe,如果能找到那么就可以断定这个错误跟metalink描叙的错误是一致的。如下所示。
从metalink上的解决方案来看, 第1、2点都可以忽略,因为我们版本为Oracle Database 10g Release 10.2.0.4.0 - 64bit Production。而我找到那位同事,确认其使用的Oracle客户端程序为Oracle 8i版本.所以,要解决这个bug,可以通过升级客户端应用程序解决。
1. Fix unpublished Bug 4359111, if the Oracle software is 10.1.0.4 or below. Patches for this bug can be found on My Oracle Support under Patch:4359111.
2. Fix unpublished bug 5910901 by applying Patch:5910901 if the Oracle software is 10.1.0.5 or above,
3. Apply the 10.2.0.4 patch set or above on the client.
4. You can change the non-Oracle client software being used,
5. You can just ignore the error as it is non-corruptive.
6. Run the queries directly through SQLPLUS instead of using TOAD.