暂无图片
关于oracle pga大小限制
我来答
分享
卑鄙的我
2019-08-28
关于oracle pga大小限制

请问下我设置了pga_aggregate_target后,比如8G, 为何一个进程用了4G就报了04030错误,看状态pga最大分配了5G,想知道是不是有其他限制

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
盖国强

单个进程的 PGA 使用量是受到限制的,以避免单用户过度消耗。这个受 _smm_max_size 隐含参数控制,你可以修改加大这个参数。

以下是简要的说明


pga_aggregate_target设定所有进程总的WORK AREA区大小,主要影响下面几个相关参数的设定

    _smm_max_size: 串行进程的WORK AREA上限值,单位KB。默认值

    _pga_max_size: 每个进程WORK AREA上限值,单位byte。

    _smm_px_max_size: 并行模式下,所有并行进程共享的WORK AREA上限值,单位KB


_smm_max_size:

    pga_aggregate_target  <= 500 MB, then _smm_max_size = 20% * pga_aggregate_target

    pga_aggregate_target  [500MB , 1000 MB], then _smm_max_size = 100 MB

    pga_aggregate_target  >= 1000 MB, then _smm_max_size = 10% * pga_aggregate_target, 最大值 1024MB



暂无图片 评论
暂无图片 有用 0
卑鄙的我

上面说最大值1g 为何一个进程会分配4G呢

暂无图片 评论
暂无图片 有用 0
卑鄙的我

tmp_d2ad61f026c42f595f83d727c5973fd5.jpg

暂无图片 评论
暂无图片 有用 0
卑鄙的我

是不是这些参数只是限制了workarea,还有其他的占用了

暂无图片 评论
暂无图片 有用 0
盖国强

_pga_max_size 是限制单进程 PGA 使用量的。


建议排查SQL问题,隐含参数通常不建议修改。但是你可以改改测试一下效果。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏