집 >데이터 베이스 >MySQL 튜토리얼 >生成SPA报告报ORA-27163: out of memory
前一段时间做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
前一段时间做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) (文档 ID 1599434.1)。SR回复的方法和我搜索到的解决办法都是一样的,需要设置event 31156。这个可以直接在session级别进行设置,设置完成之后,再次生成SPA报告没有报错。
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) (文档 ID 1599434.1)
Bug 12685875 : ORA-27163 OUT OF MEMORY WHEN EXECUTING DBMS_SQLPA.REPORT_ANALYSIS_TASK
原文地址:生成SPA报告报ORA-27163: out of memory, 感谢原作者分享。