oracle 10g 在 32位 redhat as4.0 上使用8G大内存问题

在linux下,若是是32位的x86cpu,oracle只能访问2的32次方即4g如下的虚拟内存,默认状况下SGA最高只能到达1.7g。这样若是 咱们有大于4g的内存,oracle却不能使用到,那么怎么可以使得oracle可以尽可能使用到内存,提升SGA呢。有两种方法:一种方法是下降 mapped_base地址,从而把SGA的起始地址下降,从而达到扩大SGA的目的,以下:在oracle用户下运行 $make -f ins_rdbms.mk ioracle 可是此种方式也只能扩展SGA到2.7G。 还有一种方式,采用共享内存文件系统的方式(linux的bigpages):编辑/etc/fstab,更改shmfs项为:size为内存大小 shmfs /dev/shm shm nr_blocks=1310720,size=8g 0 0 运行: umount /dev/shm mount /dev/shm 用mount看看,是否/dev/shm有8g 下来,让linux支持bigpages:在/etc/sysctl.conf中更改 kernel.shm-use-bigpages=2 在grub.conf中加入 bigpages=8192MB 而后从新启动 更改init$sid.ora文件,设置 USE_INDIRECT_DATA_BUFFERS='TRUE' db_block_buffers=2000000 注意db_block_buffers和一些cache参数不能混用,要把cache那些参数删除,这个值能够进行调整,以知足需求 而后: $sqlplus /nolog connect / as sysdba; create spfile from pfile; startup; 大功告成
相关文章
相关标签/搜索