安裝ORACLE時在Linux上設定核心引數的含義
前兩天看到一篇Redhat官方的Oracle安裝文件,對於Linux核心引數的修改描述的非常清晰。
安裝Oracle之前,除了檢查作業系統的硬體和軟體是否滿足安裝需要之外,一個重點就是修改核心引數,其中最主要的是和記憶體相關的引數設定。
SHMMAX引數:Linux程式可以分配的單獨共享記憶體段的最大值。一般設定為記憶體總大小的一半。這個值的設定應該大於SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此對於安裝Oracle資料庫的系統,shmmax的值應該比記憶體的二分之一大一些。
# grep MemTotal /proc/meminfo
# cat /proc/sys/kernel/shmmax
上面的命令是檢查系統記憶體的大小,以及當前shmmax的設定。
# echo 21474836480 > /proc/sys/kernel/shmmax
# sysctl -w kernel.shmmax=21474836480
# echo "kernel.shmmax=21474836480" >> /etc/sysctl.conf
這是設定shmmax引數的幾種方法,這三種方式都可以將shmmax設定為20G。這個引數的修改可以不重啟資料庫。個人推薦使用第二種sysctl命令的方式。採用第三種方式需要執行sysctl –t操作或重啟,但是為了確保下次重啟後設定值仍然生效,第三種方式是必不可少的。前兩種方式類似alter system set scope = memory,而第三種方式則類似alter system set scope = spfile。
SHMMNI引數:設定系統級最大共享記憶體段數量。Oracle10g推薦最小值為4096,可以適當比4096增加一些。
# cat /proc/sys/kernel/shmmni
# echo 4096 > /proc/sys/kernel/shmmni
# sysctl -w kernel.shmmni=4096
# echo "kernel.shmmni=4096" >> /etc/sysctl.conf
檢查和設定方法如上,這和shmmax的修改方式沒有區別,不在贅述。
SHMALL引數:設定共享記憶體總頁數。這個值太小有可能導致資料庫啟動報錯。很多人調整系統核心引數的時候只關注SHMMAX引數,而忽略了SHMALL引數的設定。這個值推薦設定為實體記憶體大小除以分頁大小。
# getconf PAGE_SIZE
透過getconf獲取分頁的大小,用來計算SHMALL的合理設定值:
SQL> select 32*1024*1024*1024/4096 from dual;
32*1024*1024*1024/4096
----------------------
8388608
對於32G的記憶體,4K分頁大小的系統而言,SHMALL的值應該設定為8388608。
# cat /proc/sys/kernel/shmall
# echo 8388608 > /proc/sys/kernel/shmall
# sysctl -w kernel.shmall=8388608
# echo " kernel.shmall=8388608" >> /etc/sysctl.conf
查詢和設定方法如上。
訊號燈semaphores是程式或執行緒間訪問共享記憶體時提供同步的計數器。
SEMMSL引數:設定每個訊號燈組中訊號燈最大數量,推薦的最小值是250。對於系統中存在大量併發連線的系統,推薦將這個值設定為PROCESSES初始化引數加10。
SEMMNI引數:設定系統中訊號燈組的最大數量。Oracle10g和11g的推薦值為142。
SEMMNS引數:設定系統中訊號燈的最大數量。作業系統在分配訊號燈時不會超過LEAST(SEMMNS,SEMMSL*SEMMNI)。事實上,如果SEMMNS的值超過了SEMMSL*SEMMNI是非法的,因此推薦SEMMNS的值就設定為SEMMSL*SEMMNI。Oracle推薦SEMMNS的設定不小於32000,假如資料庫的PROCESSES引數設定為600,則SEMMNS的設定應為:
SQL> select (600+10)*142 from dual;
(600+10)*142
------------
86620
SEMOPM引數:設定每次系統呼叫可以同時執行的最大訊號燈操作的數量。由於一個訊號燈組最多擁有SEMMSL個訊號燈,因此有推薦將SEMOPM設定為SEMMSL的值。Oracle驗證的10.2和11.1的SEMOPM的配置為100。
透過下面的命令可以檢查訊號燈相關配置:
# cat /proc/sys/kernel/sem
250 32000 100 128
對應的4個值從左到右分別為SEMMSL、SEMMNS、SEMOPM和SEMMNI。修改方法為:
# echo 610 86620 100 142 > /proc/sys/kernel/sem
# sysctl -w kernel.sem="610 86620 100 142"
# echo "kernel.sem=610 86620 100 142" >> /etc/sysctl.conf
轉:http://www.blogjava.net/tbwshc/archive/2012/09/13/387652.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2134206/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 安裝oracle時核心引數的含義Oracle
- 安裝oracle資料庫時,設定linux核心引數的意義Oracle資料庫Linux
- 安裝oracle時引數shmmax,shmall的含義OracleHMM
- Linux上shmmax引數的設定及含義LinuxHMM
- Linux上shmmax引數的設定及含義(轉)LinuxHMM
- Oracle安裝時shmmax引數的設定OracleHMM
- oracle安裝linux時的核心引數解釋OracleLinux
- (轉)redhat下安裝oracle,設定redhat核心引數RedhatOracle
- Oracle 11g 在solaris 10 上核心引數的設定Oracle
- oracle 安裝相關引數設定Oracle
- ORACLE安裝核心引數配置_linux平臺OracleLinux
- solaris 10 安裝 oracle 11g R2核心引數設定Oracle
- histb 引導核心 boot_cmd 引數含義boot
- oracle核心引數意義Oracle
- Oracle在Linux上的安裝OracleLinux
- LINUX下安裝ORACLE的常用設定引數及環境變數說明LinuxOracle變數
- oracle中用Create Table建立表時,Storage中引數的含義!Oracle
- Oracle CSS的引數設定 心跳時間設定OracleCSS
- 在linux系統上裝oracle為什麼要修改作業系統的核心引數LinuxOracle作業系統
- 部分Oracle 配置檔案引數含義Oracle
- 教你在Ubuntu上安裝Linux核心6.1UbuntuLinux
- Oracle歸檔模式、引數意義、設定Oracle模式
- solaris10中安裝oracle核心引數的調整Oracle
- Solaris10的上安裝Oracle時需要調整的系統引數Oracle
- oracle相關的linux核心引數OracleLinux
- 在Oracle Linux 7.1上安裝DockerOracleLinuxDocker
- Oracle安裝相關Linux引數(轉)OracleLinux
- 【轉】Oracle安裝相關Linux引數OracleLinux
- 在Linux上安裝Oracle時DISPLAY問題解決方案LinuxOracle
- CBO,ORACLE,隱含引數,_sort_elimination_cost_ratio的含義Oracle
- Nginx常用配置引數的含義Nginx
- plsql下nocopy引數的含義SQL
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Oracle 隱含引數Oracle
- ORACLE隱含引數Oracle
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- 在Solaris10上配置核心引數
- 在安裝RAC時需要配置的幾個kernel引數