前一段时间做SPA测试,我们的环境是11.2.0.4.2,在做完前面的分析操作之后,生成SPA报告出错。报out of memory。错误日志如下:
set trimspool on set trim on set pages 0 set linesize 1000 set long 20000000000 set longchunksize 10000000000 spool spa_report_elapsed_time.html SELECT dbms_sqlpa
.report_analysis_task('SPA_TEST', 'HTML', 'ALL','ALL', top_sql=>300,execution_name=>'Compare_elapsed_time') FROM dual; spool off; ERROR: ORA-27163: out of memory ORA
-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 8211 ORA-06512: at "SYS.DBMS_SQLPA", line 515 ORA-06512: at line 1
出现这种内部的问题,只好抱着在MOS上搜一搜的态度。同时我也开了SR。很快SR就回复了,同时我也搜到了一篇文档叫XML Parser Fails With ORA-27163 (Out Of Memory) (文档>
ALTER SESSION SET EVENTS '31156 trace name context forever, level 0x400';
很奇怪的一点是,文档说11.2.0.3存在这个问题,但是11.2.0.4已经不存在这个问题了,但是我确还是遇到了这个问题。同时SR这边指出是Bug 12685875 : ORA-27163 OUT OF MEMORY WHEN EXECUTING DBMS_SQLPA.REPORT_ANALYSIS_TASK。这个bug没有写workground。不过我通过上面的事件是可以解决的。
参考文档:XML Parser Fails With ORA-27163 (Out Of Memory) (文档> Bug 12685875 : ORA-27163 OUT OF MEMORY WHEN EXECUTING DBMS_SQLPA.REPORT_ANALYSIS_TASK