依據oracheck結果修改系統引數配置記錄

murkey發表於2015-04-04

 

在之前的文章《使用oracheck進行系統巡檢》(http://blog.itpub.net/17203031/)中,筆者發現系統的一些配置問題。注意:我們雖然在安裝過程中完全依據文件進行實際安裝,但是落實到具體的最佳實踐是有一些差距的。

oracheck是融合了最新的Oracle最佳實踐配置指導,對檢查出的問題也提供了比較詳細的說明內容。本篇主要針對發現的幾個問題修改進行記錄。

 

1system core file limit設定

 

第一個info等級問題圖示如下:

 

依據oracheck結果修改系統引數配置記錄

 

LinuxUnix系統在執行過程中,如果程式發生致命錯誤,是支援系統級別生成core dump檔案的。core dump是一種診斷用資訊,主要用於進行錯誤後的故障診斷發現功能。Oracle常常使用的的dump功能,也就是藉助這個機制來進行的。

不同的dump檔案,依據級別的差異有大小差異。Linux/Unix系統中有專門的引數來限制檔案的大小,如果生成的dump檔案超過限制,就不會生成出來。從oracheck檢查情況看,就是對這個引數的內容有問題。

提示資訊中說:這個引數限制了coredumpsize大小,如果設定了0-2GB範圍,就有生成dump檔案的障礙。

檢視coredumpsize方法是使用ulimit –a,檢視特定使用者的設定大小。

 

 

[oracle@CRSimpleLinux orachk]$ ulimit -a

core file size          (blocks, -c) 0

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 62217

max locked memory       (kbytes, -l) 64

max memory size         (kbytes, -m) unlimited

open files                      (-n) 65536

pipe size            (512 bytes, -p) 8

 

修改方法就是在/etc/security/limits.conf中進行配置,對Oracle使用者放開dump限制。

 

 

[root@CRSimpleLinux ~]# cat /etc/security/limits.conf

# /etc/security/limits.conf

#@student        -       maxlogins       4

 

--安裝oracle中官方推薦

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

 

--新加入內容

oracle soft core unlimited

oracle hard core unlimited

 

# End of file

 

我們對於limits.conf檔案並不陌生。安裝oracle作業系統配置層面,要加入nprocnofile的配置專案。修改之後,驗證oracle使用者limit情況。

 

[oracle@CRSimpleLinux ~]$ ulimit -a

core file size          (blocks, -c) unlimited

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

 

2shmmax共享記憶體大小

 

windows版本Oracle工作原理不同,Linux/Unix版本Oracle在執行中,後臺程式採用的是真正的共享記憶體機制。引數shmmax就是作業系統層面設定的共享記憶體最大大小。

 

依據oracheck結果修改系統引數配置記錄

 

kernel.shmmax引數是作業系統層面設定的,在安裝Oracle中是有配置。但是從最佳實踐看,Oracle推薦是記憶體大小的一半大小。

修改/etc/sysctl.conf檔案,來設定新的取值。最後透過sysctl –p來應用。

 

[root@CRSimpleLinux ~]# sysctl -p

net.ipv4.ip_forward = 0

kernel.shmall = 2097152

kernel.shmmax = 4088072192

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

 

3aio-max-nr大小

 

引數aio-max-nr負責描述非同步IO操作最大的檔案描述符個數,檢查中發現這個描述符過小。

 

依據oracheck結果修改系統引數配置記錄

 

透過手工修改配置,可以提高個數資訊,避免IO瓶頸。

 

[root@CRSimpleLinux ~]# cat /proc/sys/fs/aio-max-nr

65536

[root@CRSimpleLinux ~]# echo > /proc/sys/fs/aio-max-nr 1048576

[root@CRSimpleLinux ~]# cat /proc/sys/fs/aio-max-nr

1048576

 

4RAC環境下UDP Buffer緩衝區大小

 

UDP協議是Oracle RAC工作的一個重要協議,負責進行private network通訊。私有網路質量直接影響RAC整體效率和共享記憶體情況。

 

依據oracheck結果修改系統引數配置記錄

 

修改依然是在sysctl.conf上進行。提示資訊中也給出了不同版本的建議設定取值。另外wmen_max也修改為2097152,屬於相似問題。

 

 

[root@CRSimpleLinux ~]# sysctl -p

 

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 2097152

net.core.wmem_default = 262144

net.core.wmem_max = 2097152

 

5、結論

 

oracheck在很多方面都給出比官方文件更好地解決方案和建議。比較好的策略是,先按照官方文件的建議將資料庫安裝完成,之後下載執行最新的oracheck檢查包,診斷問題進行調整,這樣可以保證系統在最佳狀態下執行。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/500314/viewspace-1487063/,如需轉載,請註明出處,否則將追究法律責任。

相關文章