ORACLE安裝引數sysctl.conf說明

aishu521發表於2012-07-17
對於32bit的linux來說,不管實際的記憶體有多大,shmmax的最大值不應該超過 4294967295。

對於rh3,正常情況下oracle的sga只能開到1.7G左右(即使你有8G的memory),即使經過某些調整,如Hugetlb,最多也只能將SGA<3G.

oracle在設定sga的時候,會參考系統的核心引數,如shmmax等。


配置 Linux 的核心引數
[root@myhost ~]# vi /etc/sysctl.conf
# For Oracle
kernel.shmmax = 1073741824(改成伺服器記憶體的一半,我的伺服器1G,所以都算進去了,1024*1024*1024)
kernel.shmmni=4096
kernel.shmall=1073741824
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000

修改/etc/sysctl.conf檔案。其中的幾個引數的含義
kernel.shmmax表示最大共享記憶體,如果小的話可以按實際情況而定,一般為實體記憶體的一半,不過我的虛擬機器只有256M,所以就全部算進去了。
shmmni表示最小共享記憶體固定4096KB
shmall表示所有記憶體大小
sem 4個引數依次SEMMSL:每個使用者擁有訊號量最大數,SEMMNS:系統訊號量最大數,SEMOPM:每次semopm系統呼叫運算元,SEMMNI:系統辛苦量集數最大數。這4個引數為固定內容大小。
file-max固定大小65536
ip_local_port_range表示埠的範圍,為指定的內容。

一般來說,1-4G 的實體記憶體,可以直接設定shmmax為最大實體記憶體即可,那麼SGA 肯定在一個共用記憶體段中,32Bit Linux 系統實體記憶體大於4G 的設定為4G 即可 。

總之,一般設定shmmax >=SGA(32Bit 系統是否支援到1.7G 以上SGA 需要注意) ,預設為32M,
如果是64Bit 的Linux 作業系統,shmmax 設定為大於SGA_MAX_SIZE即可。

 

修改後執行"/sbin/sysctl -p"命令使得核心改變立即生效;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15187685/viewspace-735658/,如需轉載,請註明出處,否則將追究法律責任。

相關文章