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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 核心引數Oracle
- /etc/sysctl.conf引數解釋
- /etc/sysctl.conf部分引數說明
- oracle rac 核心引數詳解Oracle
- solaris10中安裝oracle核心引數的調整Oracle
- Oracle 效能最佳化之核心的shmall 和shmmax 引數OracleHMM
- oracle中的processes,session,transaction引數詳解OracleSession
- 在Linux中,linux核心引數如何修改?Linux
- ORACLE中Cursor_sharing引數詳解Oracle
- ORACLE並行相關的引數Oracle並行
- 聊聊Oracle表空間Offline的三種引數(中)Oracle
- Oracle:PDB 引數管理Oracle
- [OS/Linux] Linux核心引數:net.core.somaxconn(高併發場景核心引數)Linux
- 如何在 Fedora 30 中設定核心命令列引數命令列
- linux常用核心引數說明Linux
- Oracle:SYS_REFCURSOR作為函式中的輸出引數Oracle函式
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- Oracle初始化引數的來源Oracle
- histb 引導核心 boot_cmd 引數含義boot
- 使用 XmlCommand 對Oracle傳引數XMLOracle
- Oracle RAC引數檔案管理Oracle
- Oracle GoldenGate常用引數詳解OracleGo
- Oracle Table建立引數說明Oracle
- Oracle JDBC ResultSet引數測試OracleJDBC
- Oracle中單引號和雙引號的區別Oracle
- Yarn生產環境核心引數Yarn
- swoole優化核心引數調整優化
- [20210826]核心引數kernel.sem.txt
- linux核心引數優化重要項Linux優化
- CentOS升級核心與容器執行時核心引數的關係CentOS
- Python中的引數遮蔽Python
- Oracle ENABLE=broken引數與TCP KeepAliveOracleTCP
- [20190917]oracle引數deferred屬性.txtOracle
- Oracle面試寶典-引數篇Oracle面試
- Oracle RAC修改引數檔案位置Oracle
- oracle O7_DICTIONARY_ACCESSIBILITY 引數Oracle
- EDBPPAS(Oracle相容版)Oracle與PostgreSQL相容模式的引數配置切換OracleSQL模式
- 大資料學習—Kafka的核心調優引數大資料Kafka