12
返回列表 发新帖
楼主: weijsh

1G的share_pool_size 还报ora-04031错误

[复制链接]
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
11#
发表于 2004-12-24 14:40 | 只看该作者
先用alter system flush shared_pool吧,
然後再慢慢對現有的sql進行trace.

使用道具 举报

回复
论坛徽章:
151
2014年新春福章
日期:2014-04-17 11:38:13奥运会纪念徽章:皮划艇静水
日期:2012-07-31 15:42:58奥运会纪念徽章:田径
日期:2012-07-10 16:21:10奥运会纪念徽章:跆拳道
日期:2012-06-20 22:07:29奥运会纪念徽章:皮划艇静水
日期:2012-06-16 02:55:21奥运会纪念徽章:曲棍球
日期:2012-06-13 10:09:19蛋疼蛋
日期:2012-05-19 23:20:41迷宫蛋
日期:2012-05-16 17:35:25版主2段
日期:2012-05-15 15:24:11双黄蛋
日期:2012-03-19 19:34:04
12#
发表于 2004-12-24 14:43 | 只看该作者
shared pool没有必要设置这么大吧

使用道具 举报

回复
论坛徽章:
4
会员2006贡献徽章
日期:2006-04-17 13:46:34生肖徽章2007版:鼠
日期:2008-01-02 17:35:53ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41秀才
日期:2015-11-12 17:43:40
13#
发表于 2004-12-24 17:37 | 只看该作者
执行alter system flush shared_pool命令后现在有什么结果吗?

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
14#
发表于 2004-12-25 08:57 | 只看该作者
这么多老大关心,怎么就没有下文了呢! 急呀

使用道具 举报

回复
论坛徽章:
4
会员2006贡献徽章
日期:2006-04-17 13:46:34生肖徽章2007版:鼠
日期:2008-01-02 17:35:53ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41秀才
日期:2015-11-12 17:43:40
15#
发表于 2004-12-28 15:25 | 只看该作者
Fenng有一篇关于如何解决ORA-04031 错误的文章,写的很好,希望对你有帮助!

http://www.dbanotes.net/Oracle/Ora-04031.htm

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
16#
发表于 2004-12-28 16:38 | 只看该作者
使用以下代码查询一下shared pool的使用情况:

[php]

SELECT   ksmchcom, COUNT (ksmchcom) CHUNK,
         DECODE (ksmchcls, 'recr', SUM (ksmchsiz), NULL) recr,
         DECODE (ksmchcls, 'freeabl', SUM (ksmchsiz), NULL) freeabl,
         SUM (ksmchsiz) SUM
    FROM x$ksmsp
GROUP BY ksmchcom, ksmchcls
/

.[/php]

增大shared_pool不是解决问题的方法。

你可以看看v$sqlarea视图
是否SQL代码存在异常,比如应该共享的没有得到充分共享?

如果这个问题是和你的03113错误同时出现的,我倾向于认为是Bug。

关于shared_pool的内容你参考一下:
http://www.eygle.com/internal/shared_pool-2.htm

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
25
生肖徽章2007版:龙
日期:2008-05-06 11:07:48咸鸭蛋
日期:2011-10-19 10:09:12ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:49:542013年新春福章
日期:2013-02-25 14:51:24
17#
发表于 2004-12-28 21:59 | 只看该作者
share_pool_size是影响性能的语句,它的高低只是会影响数据库的快慢。不会导致错误。

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2004-12-29 09:51 | 只看该作者
如果是9I 和配合多个CPU ,那么使用较大的shared_pool也是可以的。
从9I 开始,shared_pool中可以划分为subpool,每个subpool有自己的free list,latch资源.
在9I以前,所有的shared_pool只有一套资源使用,所以增加shared_pool反而会影响。
当然在没有优化SQL语句之前,无谓的增加shared_pool也是不合适的。
至于如何配置shared_pool使用多个subpool, 看下文:
-----------------------------------------
Prior to Oracle9i Database, the shared pool memory structures were protected by a solitary shared pool latch. Beginning with Oracle9i Database, up to seven child shared pool latches can be used to protect the shared pool structures. This is possible because Oracle9i Database can break the shared pool into multiple subpools if the server has at least four CPUs and the SHARED_POOL_SIZE is greater than 250MB. The number of subpools can be manually adjusted by the _KGHDSIDX_COUNT initialization parameter, which also supplies the appropriate number of child shared pool latches. If you manually increase the number of subpools, you should also increase the SHARED_POOL_SIZE because each subpool has its own structure, LRU list, and shared pool latch. Otherwise, the instance may not start due to the error ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","unknown object","sga heap(5,0)","fixed allocation callback".

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表