ORA-32690: 散列表基础结构内存不足
ORA-32690: 散列表基础结构内存不足 [Oracle@sdw0 ~]$ oerr ora 32690 32690, 00000, Hash Table Infrastructure ran out of me
ORA-32690: 散列表基础结构内存不足
[Oracle@sdw0 ~]$ oerr ora 32690
32690, 00000, "Hash Table Infrastructure ran out of memory"
// *Cause: Not enough memory.
// *Action: Increase memory.
This is a known bug on database version 10.2.0.3. The bug is fixed in 11.2 release.
Recommended solution always to be on the latest patchset or even 11.1.0.6 where there is one off backport for several platforms .
The bug also has a one off on top of 10.2.0.4, if you are not able to be on top of 10.2.0.4 for the time being, so our option now is to resolve the issue on top of 10.2.0.3
No one off on top of 10.2.0.3 for Solaris platform however the good news that there is a merge Patch 6907160 MERGE LABEL REQUEST ON TOP OF 10.2.0.3 FOR BUGS 6471770 6471515, available to Solaris platform.
There are also the available workarounds
1. Disable Hash group-by by setting “_gby_hash_aggregation_enabled” to FALSE in init.ora
2. Use a NO_USE_HASH_AGGREGATION hint in your statements
原因分析:
解决方法:
1.增加PGA的pga_aggregate_target的大小。
2.Disable HASH GROUP BY operations bysetting the parameter _gby_hash_aggregation_enabled to FALSE:
SQL> alter session set"_gby_hash_aggregation_enabled" = false;
or
SQL> alter systemset "_gby_hash_aggregation_enabled" = falsescope=spfile;
A hard parse tothe statement needs to be performed, preferably to flush the Shared Pool aftersetting this workaround and then re-run the statement.
--要使修改生效,需要执行一次硬解析,所以可以选择flush share pool,,然后执行SQL。
3.不使用hash join:select /*+ NO_USE_HASH_AGGREGATION*/.....
推荐阅读
-
ORA-32690: 散列表基础结构内存不足
-
野生前端的数据结构基础练习(5)——散列
-
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
-
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
-
数据结构与算法——散列表类的C++实现(探测散列表)
-
【数据结构】散列表:LeetCode题(二)1. 两数之和,13. 罗马数字转整数
-
Python新手学习基础之数据结构-列表3 删除 popcleardelremove
-
数据结构与算法——散列表类的C++实现(分离链接散列表)
-
JavaScript数据结构——字典和散列表的实现
-
Web前端Day01:HTML基础之基本结构、标签、列表