这个服务器有4gb的内存和两个处理器。我想要将全部物理内存的60%分配给oracle数据库,但是对这个数据库的配置却失败了,返回了如下的错误信息.
我想要在windows 2000高级服务器上面配置oracle 9i release 2,如下所示:
db_cache_size= 1 gigabyte
shared_pool_size= 512 megabytes
large pool = default
java pool = default
pga = 512 megabytes
这个服务器有4gb的内存和两个处理器。我想要将全部物理内存的60%分配给oracle数据库,但是对这个数据库的配置却失败了,返回了如下的错误信息:“内存不足”,“无法增加缓冲区内存”,以及“数值无效”。如果您能帮助我,不胜感激。
此问题提交于2004年11月10日
如果你得到的错误信息如下:
ora-00384: insufficient memory to grow cache
解决方案就是增加你的sga_max_size参数,然后重新启动数据库。对v$parameter进行查询,可以看到当前的sga_max_size参数的设置。要改变这个数值,使用如下的命令:
alter system set sga_max_size=1500m scope=spfile;
此项命令在你重新启动数据库之后才会生效。
为了使你的sga能够超过2gb的内存,你需要使用64位的oracle版本。但是虽然oracle推荐了服务器中的物理内存百分比,而实际上你并不是真正需要使用那么多。在我的一个服务器上,我有8gb的内存,但是我的sga的总数只有区区的300mb。考虑一下缩减你的缓冲区缓存大小,1gb也许太大了。另外,一个200mb大小的共享缓冲池对于大多数的情况来说是足够了。
如果你想要了解更多有关sga_max_size参数的信息,可以访问我的网站http://www.peasland.net,在这个网站上面,有一个描述如何设置这个参数的白皮书。
闽公网安备 35060202000074号