32位Windows下Oracle使用大内存的方法
【摘要】本文从应用出发阐述了oralce使用大内存的前提,全面论述了使用大内存的原理。最后,以32位操作系统下oracle10g为例详细表述了使用大内存的方法。
【关键词】oralce;大内存;/3gb;/pae
前言
随着it硬件技术的飞速发展,服务器内存越来越大,却没有得到充分利用。比如,在windows平台上oracle使用的是一个服务进程内的众多线程来实现用户服务进程和后台进程,这些线程在32bit操作系统上只能共用2gb或3gb的虚拟寻址空间,服务器的内存资源无法得到充分利用。为此,微软提供了/3gb和/pae功能,为用户能够使用高达63gb的虚拟内存提供了途径。当前来说,怎样配置操作系统和oracle来充分利用内存资源成为困扰很多windows平台上oracle用户的难题。本文将对32位windows在什么情况下开启大内存比较合适,同时从理论到操作进行阐述对大内存的使用方法。
安装oracle10g1 32位windows使用大内存的原理
一个32位 windows系统的进程可以访问 4gb的地址空间,但是这部分空间又被系统地址和用户地址分别使用。系统地址空间是所有进程共享的,只有用户地址空间是用户程序实际可以分配和使用的。通常情况下,系统占用2gb,用户占用2gb。 windows 操作系统提供了/3gb 选项功能,可以将系统地址空间压缩至1gb, 使用户地址空间增加至3gb。如果oracle所在服务器配置大于4gb的物理内存, 这是一个不错的设置选择。
同时,微软还推出了/pae功能,在ia32服务器上支持最大64gb物理内存。pae使用的是36位内存寻址方式,这需要应用程序使用awe api来访问更多内存,这种方式会消耗一定的资源。
awe是一套api,用于访问4gb以外的内存,为32位操作系统开发的。user程序可以在自己所支配的地址空间内分配1gb的内存来实现地址映射,这些都会产生一定的内存和cpu消耗。同时,还要保证相应的服务器等硬件平台,已经安装了足够大的内存,而且操作系统启用了pae功能。
从以上不难看出,pae 是解决大内存使用的硬件技术,而awe是使用大内存时的可用软件接口。
将/3gb和/pae配合使用可让oracle使用4gb以外的内存,但最多只能访问不超过16gb的内存。
由于awe和pae都需要映射窗口,映射窗口的缺省大小是1g(即系统注册表中awe_window_size的值),那么留给用户的空间就只剩1g或2g(/3gb and /pae),并且还需要用户进行转换,因此在8gb物理内存的情况下开启pae功能还不如4gb物理内存下不开启 pae。由此我们可以得出,只有配置了12gb以上的服务器是上开启pae才能凸显出性能上的提升。
2 oracle对大内存的使用方式
3 结束语
通过测试和比较,该方法是在系统内存大于4g,同时不能升级操作系统至64位情况下,提高oracle数据库性能的比较方便可行的方法。
【参考文献】
[1]david c. kreines&acle 数据库管理[m].中国电力出版社,2009,04.
[2]盖国强.循序渐进oracle:数据库管理、优化与备份恢复[m].人民邮电出版社,2007,9.
[3]张晓林,侯宝稳,吴宝江.数据库系统管理与应用[m].北京:清华大学出版社,2007.
[责任编辑:周娜]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。