我們可以修改shmmax核心引數,使SGA存在於一個共享記憶體段中。 透過修改/proc/sys/kernel/shmmax引數可以達到此目的。 [root@neirongroot]#echo1073741824>/proc/sys/kernel/shmmax [root@neirongroot]#more/proc/sys/kernel/shmmax 1073741824這裡設為1G。 對於shmmax檔案的修改,系統重新啟動後會復位。可以透過修改/etc/sysctl.conf使更改永久化。 在該檔案內新增以下一行kernel.shmmax=1073741824這個更改在系統重新啟動後生效. 1、設定SHMMAX SHMMAX 引數定義共享記憶體段的最大尺寸(以位元組為單位)。在設定SHMMAX時,切記SGA的大小應該適合於一個共享記憶體段。SHMMAX設定不足可能會導致以下問題: ORA-27123:unabletoattachtosharedmemorysegment 您可以透過執行以下命令來確定SHMMAX的值: #cat/proc/sys/kernel/shmmax 33554432 SHMMAX的預設值是32MB。我一般使用下列方法之一種將SHMMAX引數設為2GB: 透過直接更改/proc檔案系統,你不需重新啟動機器就可以改變SHMMAX的預設設定。我使用的方法是將以下命令放入/etc/rc.local啟動檔案中: #>echo"2147483648">/proc/sys/kernel/shmmax 您還可以使用sysctl命令來更改SHMMAX的值: #sysctl-wkernel.shmmax=2147483648 最後,透過將該核心引數插入到/etc/sysctl.conf啟動檔案中,您可以使這種更改永久有效: #echo"kernel.shmmax=2147483648">>/etc/sysctl.conf 2、設定SHMMNI 我們現在來看SHMMNI引數。這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是4096。這一數值已經足夠,通常不需要更改。 您可以透過執行以下命令來確定SHMMNI的值: #cat/proc/sys/kernel/shmmni 4096 3、設定SHMALL 最後,我們來看SHMALL共享記憶體核心引數。該引數控制著系統一次可以使用的共享記憶體總量(以頁為單位)。簡言之,該引數的值始終應該至少為: ceil(SHMMAX/PAGE_SIZE) SHMALL的預設大小為2097152,可以使用以下命令進行查詢: #cat/proc/sys/kernel/shmall 2097152 SHMALL的預設設定對於我們的Oracle9iRAC安裝來說應該足夠使用。 注意:在i386平臺上RedHatLinux的頁面大小為4096位元組。但是,您可以使用bigpages,它支援配置更大的記憶體頁面尺寸。
我們可以修改shmmax核心引數,使SGA存在於一個共享記憶體段中。 透過修改/proc/sys/kernel/shmmax引數可以達到此目的。 [root@neirongroot]#echo1073741824>/proc/sys/kernel/shmmax [root@neirongroot]#more/proc/sys/kernel/shmmax 1073741824這裡設為1G。 對於shmmax檔案的修改,系統重新啟動後會復位。可以透過修改/etc/sysctl.conf使更改永久化。 在該檔案內新增以下一行kernel.shmmax=1073741824這個更改在系統重新啟動後生效. 1、設定SHMMAX SHMMAX 引數定義共享記憶體段的最大尺寸(以位元組為單位)。在設定SHMMAX時,切記SGA的大小應該適合於一個共享記憶體段。SHMMAX設定不足可能會導致以下問題: ORA-27123:unabletoattachtosharedmemorysegment 您可以透過執行以下命令來確定SHMMAX的值: #cat/proc/sys/kernel/shmmax 33554432 SHMMAX的預設值是32MB。我一般使用下列方法之一種將SHMMAX引數設為2GB: 透過直接更改/proc檔案系統,你不需重新啟動機器就可以改變SHMMAX的預設設定。我使用的方法是將以下命令放入/etc/rc.local啟動檔案中: #>echo"2147483648">/proc/sys/kernel/shmmax 您還可以使用sysctl命令來更改SHMMAX的值: #sysctl-wkernel.shmmax=2147483648 最後,透過將該核心引數插入到/etc/sysctl.conf啟動檔案中,您可以使這種更改永久有效: #echo"kernel.shmmax=2147483648">>/etc/sysctl.conf 2、設定SHMMNI 我們現在來看SHMMNI引數。這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是4096。這一數值已經足夠,通常不需要更改。 您可以透過執行以下命令來確定SHMMNI的值: #cat/proc/sys/kernel/shmmni 4096 3、設定SHMALL 最後,我們來看SHMALL共享記憶體核心引數。該引數控制著系統一次可以使用的共享記憶體總量(以頁為單位)。簡言之,該引數的值始終應該至少為: ceil(SHMMAX/PAGE_SIZE) SHMALL的預設大小為2097152,可以使用以下命令進行查詢: #cat/proc/sys/kernel/shmall 2097152 SHMALL的預設設定對於我們的Oracle9iRAC安裝來說應該足夠使用。 注意:在i386平臺上RedHatLinux的頁面大小為4096位元組。但是,您可以使用bigpages,它支援配置更大的記憶體頁面尺寸。