一、如何去操作
1、修改boot.ini文件。添加 /PAE。(把系统的awe功能打开,以支持4G以上内存)
2、修改注册表。Local_Machine/ software/oracle-home0中添加AWE_WINDOW_MEMORY(单位为字节)[如1*1024*1024*1024]
3、修改初始化参数文件。
添加USE_INDIRECT_DATA_BUFFERS=TRUE
屏蔽db_cache_size参数
添加db_block_buffers,[乘以db_block_size=你想要的db_cache_size]
屏蔽sga_target
屏蔽sga_max_size
添加pre_page_sga = true
二、为什么要那样操作
32位不支持大的内存。
0、如果机器的内存在4G以下,可以使用Physical Address Extensions(PAE)或者是Address Windowing Extensions(AWE)进行扩展,如果大于4GB只能使用AWE进行扩展了。
1、添加USE_INDIRECT_DATA_BUFFERS=TRUE,就不能用db_cache_size,只能用db_block_buffers代替。
2、扩展的内存只能增加到BUFFER CACHE中去使用,因此只能增大DB_BLOCK_BUFFERS这个参数去扩展SGA区。
3、强制要设置AWE_WINDO_MEMORY的最小值,这个最小值在Oracle8.1.7中通过DB_BLOCK_LRU_LATCHES参数设定,在Oracle9.2.0(以上版本)中则通过_DB_BLOCK_LRU_LATCHES隐含参数设定,Oracle9.2.0的AWE_WINDOW_MEMORY的最小值由以下的公式计算:
MIN(AWE_WINDOW_MEMORY)=(4096 * DB_BLOCK_SIZE * _DB_BLOCK_LRU_LATCHES)/8
_DB_BLOCK_LRU_LATCHES = (Max buffer pools * SETS_PER_POOL)
4、数值配置,主要增加db_cache_size.
*.db_block_buffers等于原来的DB_CACHE_SIZE/db_block_size, 例如你希望DB_CACHE_SIZE的大小是2G,则此值是2*1024*1024K/8K= 262144
SHARED_POOL_SIZE、log_buffer参数设置过大会报错的,因为ORACLE AWE的配置不针对他的。
ORA-27102错误:AWE_WINDOW_MEMORY的最小值设置不对。
ORA-27102 out of memory OSD-00034 Message 34 not found; Product=RDBMS;facility =SOSD
O/S Error: (OS 8) Not enough storage is available to process this command
ORA-385错误:10G的SGA_TARGET参数不支持。
这个是标准版的Oracle的9.2.0.1的一个bug(#2520796),在Oracle9.2.0.2中解决了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10804699/viewspace-624248/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10804699/viewspace-624248/