Oracle 11.2.0.2上SQL TUNING的bug。
数据库版本为11.2.0.2 RAC for Solaris,错误信息为:
Thu Jul 05 22:00:01 2012 BEGIN automatic SQL Tuning Advisor run FOR special tuning task "SYS_AUTO_SQL_TUNING_TASK" Thu Jul 05 22:28:35 2012 Exception [TYPE: SIGSEGV, Address NOT mapped TO object] [ADDR:0x4] [PC:0x102B3CC08, qsmmixComputeClusteringFactor()+1640] [flags: 0x0, COUNT: 1] Errors IN file /opt/oracle/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j002_7688.trc (incident=192450): ORA-07445: exception encountered: core dump [qsmmixComputeClusteringFactor()+1640] [SIGSEGV] [ADDR:0x4] [PC:0x102B3CC08] [Address NOT mapped TO object] [] Incident details IN: /opt/oracle/app/oracle/diag/rdbms/orcl/orcl1/incident/incdir_192450/orcl1_j002_7688_i192450.trc USE ADRCI OR Support Workbench TO package the incident. See Note 411.1 at My Oracle Support FOR error AND packaging details. Thu Jul 05 22:28:38 2012 Dumping diagnostic DATA IN directory=[cdmp_20120705222838], requested BY (instance=1, osid=7688 (J002)), summary=[incident=192450]. Thu Jul 05 22:28:41 2012 Sweep [inc][192450]: completed Sweep [inc2][192450]: completed |
不需要其他信息,上面的报错就足以判断,问题发生在SQL TUNING自动运行的JOB中。显然这是Oracle的bug。
果然MOS文档Bug 9746210 – ORA-7445 [qsmmixComputeClusteringFactor] from SQL tuning [ID 9746210.8]描述了这个问题,且确认影响版本就是11.2.0.2。Oracle在11.2.0.3和11.2.0.2.4中修正了这个问题。
这个问题对于数据库的运行本身也没有什么影响,可以直接忽略掉,甚至可以将SQL TUNING对应的SCHEDULER直接停止。