本文主要是介绍shared pool的4031错误解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解决/减少share pool的ORA-4031错误的方法:
1、alter system flush shared_pool; ----治标不治本
2、共享SQL减少硬解析(绑定变量、cursor_sharing)
3、select * from v$db_object_cache where sharable_mem > 10000
and (type = 'PACKAGE' or type = 'PACKAGE BODY' or type = 'FUNCTION' or type='PROCEDURE' )
and kept = 'NO';
执行DBMS_SHARED_POOL.keep('对象名');
@?/rdbms/admin/dbmspool.sql
4、保留区(当硬解析一个很大的sql时,会去保留区找大chunk)
select REQUEST_MISSES from v$shared_pool_reserved; ----查看去保留区申请空间失败的次数,申请失败基本上就会报4031错误了
show parameter shared_pool_reserved
5、增加shared_pool空间
select component,current_size,min_size from v$sga_dynamic_components;
show parameter sga_target
show parameter sga_max_size
alter system set shared_pool_size=150M scope=both; ----在自动管理模式下,只有修改的大小大于当前大小,才能生效
这篇关于shared pool的4031错误解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!