oracle – ORA-04031:无法分配32个字节的共享内存
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle – ORA-04031:无法分配32个字节的共享内存,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2068字,纯文字阅读大概需要3分钟。
内容图文
![oracle – ORA-04031:无法分配32个字节的共享内存](/upload/InfoBanner/zyjiaocheng/896/276eaa9901ef416b87a3c8fc81d79650.jpg)
我想刷新共享池,因为有错误
ORA-04031: unable to allocate 32 bytes of shared memory
所以我想使用刷新共享池
alter system flush shared_pool;
使用连接为sysdba
hwflow08:flman800 > sqlplus "conn as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on Wed Jan 28 05:39:56 2015
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Enter password: Connected.
在执行alter system命令时,我们遇到了ORA-01012
SQL> alter system flush buffer_cache;
alter system flush buffer_cache
*
ERROR at line 1:
ORA-01012: not logged on
任何人都可以指导我如何刷新共享池? (我不想关闭数据库,也不想增加共享池的大小)
以前同样的问题来了:
我选择了SHUTDOWN DB.所以在STARTUP之后,当我通过SYSDBA连接并执行相同的查询时,系统刷新shared_pool;那个时候它完美无缺.所以问题仍然是为什么ORACLE在内存不足时不允许刷新共享池?什么是使用alter system flush shared_pool的有效方法;
编辑:
好像它的10g BUG
解决方法:
检查SGA区域大小 – 缓冲池,字典缓存,库缓存.
还要检查动态视图v $sga_resize_ops.你可能会找到一个理由.
这些版本的Oracle也有一个bug,导致Oracle无法摆脱旧的exec计划,如果它们太多了.您应该升级到终端补丁集10.2.0.5.
您还应该考虑设置参数cursor_sharing,但在某些情况下这可能没有帮助.首先你应该找到一个罪魁祸首,通常这是由一些像Hibernate这样的ORM框架引起的.
更新:
在早期版本12c RAC cluser中也存在内存泄漏.所以当你执行这个:
SQL> select * from ( select name, bytes/1024/1024/1024 from v$sgastat where pool ='shared pool' order by 2 desc ) where rownum <11;
NAME BYTES/1024/1024/1024
-------------------------- --------------------
ges resource dynamic 7.42374295
value block free list 4.61375274
free memory 2.66423168
gcs resources 1.78276435
ges enqueues 1.45691999
gcs shadows .990424648
db_block_hash_buckets .343753815
gcs res hash bucket .125
gc name table .09375
KTSL subheap .086000413
因此,您可以看到7GB的SGAs RAM被某些集群件缓冲区占用.
但是这些错误的最常见原因是大量的硬解析导致库缓存增长.
内容总结
以上是互联网集市为您收集整理的oracle – ORA-04031:无法分配32个字节的共享内存全部内容,希望文章能够帮你解决oracle – ORA-04031:无法分配32个字节的共享内存所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。