ASM & 共享池 (ORA-4031)
适用于:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.1.0.7 - Release: 10.1 to 11.1
本文档的信息适用于任何平台
目的
ASM配置(仅指ASM 实例).的共享池设置建议
范围
SHARED_POOL_SIZE参数的设置决定了管理实例所需的内存大小,这个参数也用于确定为外部存储分配的空间大小,对于大多数ASM环境来说,这个参数的默认值是合适的。
ASM & 共享池 (ORA-4031)
1) 在32位的系统中,SHARED_POOL_SIZE参数的默认值是32MB,这个值也是ASM实例所需的最小值,但是推荐设置该参数为128MB。
2) 在64位的系统中,ASM实例需要88MB的共享池,推荐值是150MB。
3) ASM实例的共享池设置指导(当数据库实例没有启用自动内存管理特性时,为了支持ASM,SAG参数可能需要稍作修改)
· SHARED_POOL_SIZE参数的初始化——将下面的查询结果加起来,得到目前数据库存储空间大小,整个数据库或者已经在ASM中或者将要储存于ASM中,下一步,确定正在使用或者将要采用的冗余类型,然后以第一步的得到的数据库存储空间大小为输入,计算SHARED_POOL_SIZE。
SQL> SELECT SUM(bytes)/(1024*1024*1024) FROM V$DATAFILE;
SQL> SELECT SUM(bytes)/(1024*1024*1024) FROM V$LOGFILE a, V$LOG b
WHERE a.group#=b.group#;
SQL> SELECT SUM(bytes)/(1024*1024*1024) FROM V$TEMPFILE WHERE
status='ONLINE';
如果磁盘组使用外部冗余,每100GB的空间需要额外的1MB共享池,再加上2MB
如果磁盘组使用正常冗余,每50GB的空间需要额外的1MB的共享池,再加上4MB
如果磁盘组使用外部冗余,每33GB的空间需要额外的1MB的共享池,再加上6MB
4) 由于在SAG创建期间,RAC的内存(RAC内存大小是一个经验值)大部分在共享池中分配,因此当把单实例迁移到RAC时,需要增加15%以上的共享池
5) 已知问题
=)> 在oracle10.1g中由于ASM实例采用网格控制,会有415248.1byte内存泄露(ORA-04031)
引用
在oracle10.1g中由于ASM实例采用网格控制,会有415248.1byte内存泄露(ORA-04031)
错误
ORA-4031