匿名用户Oracle生产库504G内存服务器的_ash_size一般设置多大?
Oracle生产库504G内存服务器的_ash_size一般设置多大?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
3条回答
默认
最新
Oracle对_ash_size值是有范围的,我的库是19c,select total_size from v$ash_info;查看是254M,目前oracle允许的最大值就是254M,如果你的_ash_size本身小于254M,那么你可以调整这个值填的很大,比如512M,不会报错,但是oracle会自动取最大254M。如果现在_ash_size已经到达最大值254M以后,你再执行:
alter system set "_ash_size"=任意大于254M的值;
就会报错值不合法。
评论
有用 0
按Oracle社区中的说法,12c及之后,设置该参数在SPFILE中(alter system set "_ash_size"=256M scope=spfile;),然后重启后是可以大于254M的。在Oracle的文档1385872.1中也提及NOTE: The max setting for "_ash_size" is 254Mb, i.e. 127 chunks of 2 Mb chunksize (however, for 12c _ash_size can be set to a value greater than 254Mb).
Ash size大小用于指定ash buffer(shared pool)。默认给定的是1048618 bytes,也就是1M。
ASH工作采样是以Active Session为中心的。如果系统处理操作过于频繁,活跃用户会话数量很多,这样每次采样的数据量就会超过系统空闲状态。随之而来的就是内存中ash buffer的填满,进而引发数据库强制回写数据,启动DBWR进程读写动作。DBWR在写入的时候,会占用一部分系统资源,从整体看是性能瓶颈点。
Active Session History (ASH) Performed An Emergency Flush Messages In The Alert Log (文档 ID 1385872.1)
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

