ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 32位oracle SGA突破1.7G(windows平台下)

32位oracle SGA突破1.7G(windows平台下)

原创 Linux操作系统 作者:tcczxhj 时间:2010-01-04 16:44:15 0 删除 编辑

一、如何去操作

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参数不支持。

ORA-00385: cannot enable Very Large Memory with new buffer cache parameters ORA-439错误:AWE不支持Oracle9.0.1.X,在标准版的Oracle9.2.0.1上,use_indirect_data_buffers=true,如果你设置了启动就会报错:ORA-439-feature not enabled:very large memory.
这个是标准版的Oracle的9.2.0.1的一个bug(#2520796),在Oracle9.2.0.2中解决了。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10804699/viewspace-624248/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 11-17通过043
请登录后发表评论 登录
全部评论

注册时间:2009-03-06

  • 博文量
    47
  • 访问量
    110516