Oracle中的sysctl.conf核心引數
當我們對Oracle進行安裝部署時,需要按照相關要求修改OS核心引數,下面對Oracle按照部署時需要修改的相關核心引數進行簡單介紹。
注:OS的核心引數大多數存放在/proc/sys目錄下,可以在系統執行時進行更改,但是當系統重新啟動時會失效,而透過/etc/sysctl.conf檔案可以永久生效修改後的核心引數。
sysctl -p
該命令可以立即生效sysctl.conf中配置的核心引數。
如下為安裝部署Oracle時需要配置的核心引數:
cat /etc/sysctl.conf
kernel.shmall
shmall表示共享記憶體總量,以頁為單位, 而shmall預設為4294967296 已經足夠大了,一般不需要調整,shmall不能低於SGA大小,若shmall低於SGA大小,例項啟動時會報:ORA-27123: unable to attach to shared memory segment錯誤,且無法啟動例項。
kernel.shmmax
shmmax引數用來定義單個共享記憶體段的最大值,該值應該配置足夠大,能夠在一個共享記憶體段中容下整個的SGA ,如果配置過低可能導致需要建立多個共享記憶體段,這樣可能會導致系統效能下降。
269838450688/1024/1024/1024=252GB。
shmmax的單位為Byte(位元組)。
vm.min_free_kbytes
該參數列示Linux VM最低保留多少的空閒記憶體空間,當可用的記憶體低於配置引數時,系統會進行cache記憶體的回收,來進行記憶體的釋放。
單位是kb,524288/1024=512M。
kernel.sem
sem是semaphores的縮寫,程式間通訊--訊號量,kernel.sem中4個引數分別對應SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL: 每個訊號集的最大訊號數量 ,一般該引數配置為資料庫中最大 PROCESS 引數的設定值加上 10,Oracle 建議 SEMMSL 不低於100。
SEMMNS:控制整個系統中訊號量的最大數量,使用以下計算公式來確定系統中需要配置的訊號的最大數量,(SEMMSL * SEMMNI)=SEMMNS。4096*128=524288。
SEMOPM: 該參數列示在一個 semop call中,每個訊號量所允許的最大運算元量,一個訊號集可以擁有每個訊號集當中的最大數量SEMMSL 訊號,建議 SEMOPM 等於SEMMSL 。 Oracle 建議SEMOPM的值不低於 100 。
SEMMNI:該引數用於控制整個系統中訊號集的最大數量。Oracle 建議SEMMNI 的值不低於 100 。
fs.file-max
該參數列示系統級別最大可以開啟檔案控制程式碼的數量,檔案控制程式碼代表系統中可以開啟檔案的數量。
net.ipv4.ip_local_port_range
該引數配置向外連線埠範圍,預設為1024到4999。
net.ipv4.ipfrag_*
net.ipv4.ipfrag_low_thresh
net.ipv4.ipfrag_high_thresh
系統中當資料包傳輸發生錯誤,會進行碎片整理,有效的資料包被保留,而無效的資料包被丟棄,ipfrag引數指定了碎片整理時的最大/最小記憶體。
net.core.rmem_*
net.core.rmem_default預設資料接收視窗大小。
net.core.rmem_max最大資料接收視窗大小。
net.core.wmem_default預設資料傳送視窗大小。
net.core.wmem_max最大資料傳送視窗大小。
單位均為位元組。
fs.aio-max-nr
該參數列示最大併發非同步I/O請求數量,當系統中存在非常高的I/O請求時,如果該引數配置過低,可能導致資料庫報ORA-27090 - Unable to Reserve Kernel Resources for Asynchronous Disk I/O錯誤,遇到該問題需將fs.aio-max-nr調整為Oracle建議值3145728。
注:Doc ID 579108.1
kernel.shmmni
該引數為共享記憶體段的最大數量,預設值為4096 ,一般情況下無需調整。
vm.nr_hugepages
該引數指定採用大頁記憶體,大頁記憶體數量,單位為個數。
| 作者簡介
楊禹航·沃趣科技高階資料庫技術專家
熟悉Oracle資料庫內部機制,豐富的資料庫及RAC叢集層故障診斷、效能調優、OWI、資料庫備份恢復及遷移經驗。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28218939/viewspace-2157041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 核心(kernel)引數 sysctl.conf , shmmaxLinuxHMM
- ORACLE安裝引數sysctl.conf說明Oracle
- Oracle 核心引數Oracle
- ORACLE核心引數Oracle
- 談談ORACLE核心引數Oracle
- oracle核心引數意義Oracle
- solaris10中安裝oracle核心引數的調整Oracle
- linux中與Oracle有關的核心引數詳解LinuxOracle
- oracle rac 核心引數詳解Oracle
- Oracle和SUN Solaris核心引數Oracle
- oracle相關的linux核心引數OracleLinux
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- linux中與Oracle有關的核心引數詳解(zhuan)LinuxOracle
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Oracle和SUN Solaris核心引數(轉)Oracle
- 安裝oracle時核心引數的含義Oracle
- oracle sga配置相關的os 核心引數Oracle
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- Linux如何在系統執行時修改核心引數(/proc/sys 與 /etc/sysctl.conf)Linux
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- oracle中的processes,session,transaction引數OracleSession
- linux 跟oracle相關的系統核心引數?LinuxOracle
- Oracle建庫必備的核心初始化引數Oracle
- oracle安裝linux時的核心引數解釋OracleLinux
- 核心引數(轉)
- 查詢oracle中的隱形引數Oracle
- Oracle升級中的引數補充Oracle
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- Oracle 效能最佳化之核心的shmall 和shmmax 引數OracleHMM
- 與oracle緊密相關的unix/linux核心引數OracleLinux
- Oracle中INITRANS和MAXTRANS引數Oracle
- ORACLE安裝核心引數配置_linux平臺OracleLinux
- linux 核心引數Linux
- Linux核心引數Linux
- linux系統基於oracle的核心引數配置說明LinuxOracle
- Oracle 11g 在solaris 10 上核心引數的設定Oracle
- oracle中的processes,session,transaction引數詳解OracleSession