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; 大功告成
相關文章
相關標籤/搜索