談談ORACLE核心引數
以伺服器記憶體為4G
修改/etc/sysctl.conf檔案 (ROOT賬戶)
kernel.shmmax =
2147483648
//公式:2G*1024*1024*1024=2147483648(位元組)
//表示最大共享記憶體,如果小的話可以按實際情況而定,一般為實體記憶體的一半(單位:位元組)
kernel.shmmni=4096
//表示最小共享記憶體固定4096KB(由於32位作業系統預設一頁為4K)
kernel.shmall=1048576
//公式:4G*1024*1024/4K = 1048576(頁)
//表示所有記憶體大小(單位:頁)
kernel.sem=250 32000 100 128
//4個引數依次是SEMMSL:每個使用者擁有訊號量最大數,SEMMNS:系統訊號量最大數,SEMOPM:每次semopm系統呼叫運算元,SEMMNI:系統辛苦量集數最大數。這4個引數為固定內容大小
fs.file-max=65536
//file-max固定大小65536
net.ipv4.ip_local_port_range=1024 65000
//ip_local_port_range表示埠的範圍,為指定的內容
以上步驟做完執行 /sbin/sysctl -p 使核心生效
驗證引數(root賬戶執行):
#/sbin/sysctl -a | grep
shm
#/sbin/sysctl -a | grep sem
#/sbin/sysctl -a | grep file-max
#/sbin/sysctl -a | grep ip_local_port_range
1、與oracle相關的訊號量和共享記憶體段引數
一般unix系統中和訊號量相關的是三個引數SEMMNI SEMMSL SEMMNS。他們相互關聯決定系統可以分配的訊號量。Oracle使用訊號量完成內部程式之間的通訊。
關於共享記憶體段使用shmmx引數進行總體控制。它指定了系統可以分配的共享記憶體段最大大小,實際並沒有分配那麼多隻是給出一個可以使用的最大限制。
對於類核引數的修改必須要重新啟動系統之後才會生效。
2、出現訊號量和共享記憶體段相關問題的情況
oracle只有在startup nomount的時候才會請求os的這些資源,用於建立SGA和啟動後臺程式。
有些情況下因為oracle崩潰之後os沒有清除oracle分配的SGA,也可能造成共享記憶體段不足,需要人工清除。
3、如何解決相關的問題
你可以簡單的修改init引數減少oracle對共享記憶體段和訊號量的需求。
對於控制訊號量的三個引數SEMMNI SEMMSL SEMMNS 。最終可以使用的訊號量由下面公式 提取 (semmsl * semmni) 或者 semmns中最小的值。
例如在linux下.
進入目錄/proc/sys/kernel;用cat命令或more命令檢視semaphore當前引數的值:
cat sem
命令執行後將會出現如下的結果:
250 32000 32 128
其中, 250
是引數SEMMSL的值,32000是引數SEMMNS的值,
32是引數SEMOPM的值,而128則是引數SEMMNI的值。250*128=32000
對於oracle7需要訊號量的設定等於init中processes的設定。對於8i 9i需要等於processes*2。
對於訊號量引數的設定一定要小心,因為不正確的設定可能會讓系統使用預設值。這個值一般比oracle系統要求的低。在HP unix上遇到過這樣的問題,當時在引數配置的時候指定兩個不同的sem-mni造成系統使用預設的設定。
對於共享記憶體段,系統的設定至少要等於SGA的大小。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17172228/viewspace-777236/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 核心引數Oracle
- ORACLE核心引數Oracle
- 談談Tomcat核心Tomcat
- 淺談PHP-FPM引數PHP
- oracle核心引數意義Oracle
- oracle rac 核心引數詳解Oracle
- Oracle和SUN Solaris核心引數Oracle
- 淺談C#可變引數paramsC#
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- oracle數值型別漫談Oracle型別
- 從 ng build 支援的引數 --prod,談談 Angular workspace configurationUIAngular
- 談談Oracle interMedia的用法Oracle
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Oracle和SUN Solaris核心引數(轉)Oracle
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle
- (轉)Linux 核心引數及Oracle相關引數調整LinuxOracle
- 談談Oracle EBS R12Oracle
- 談談React.js的核心入門知識ReactJS
- oracle相關的linux核心引數OracleLinux
- “談談MySQL的基數統計”MySql
- 細談 vue 核心- vdom 篇Vue
- 談談MySQL bin log的寫入機制、以及線上的引數是如何配置的MySql
- 核心引數(轉)
- Oracle中的sysctl.conf核心引數Oracle
- 安裝oracle時核心引數的含義Oracle
- oracle sga配置相關的os 核心引數Oracle
- 淺談對python pandas中 inplace 引數的理解Python
- 淺談JVM整體架構與調優引數JVM架構
- 談談數字城市的技術短板
- 和大家談談數學模型之美模型
- 談談如何徹底解除安裝Oracle?Oracle
- 數學雜談 #??
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- 由變數提升談談 JavaScript Execution Context變數JavaScriptContext
- ORACLE安裝核心引數配置_linux平臺OracleLinux
- 談談 mysql和oracle的使用感受 -- 差異MySqlOracle
- linux 核心引數Linux