安裝oracle 11g過程中,prerequisite checks過程中各種failed問題解決
問題一:Packages報錯
yum環境配置好後,就可以執行yum install packagename命令進行包的安裝
yum install compat-libstdc++-33 elfutils-libelf-devel glibc-devel
libaio-devel sysstat unixODBC unixODBC-devel
問題二、OS kernel parameter報錯:
1) semopm 驗證不通過
This is a prerequisite condition to test whether the OS kernel parameter "semopm" is properly set. (more details)
Expected Value : 100
Actual Value : 32
解決辦法:
編輯/etc/sysctl.conf檔案,新增
kernel.sem=250 32000 100 128
啟用剛所做的變更。 輸入命令: # /sbin/sysctl -p
2) file-max 驗證不通過
This is a prerequisite condition to test whether the OS kernel parameter "file-max" is properly set. (more details)
Expected Value
: 6815744
Actual Value
: 65536
解決辦法:
編輯/etc/sysctl.conf檔案,新增
fs.file-max = 6815744
3)ip_local_port_range
驗證不通過
ip_local_port_range
This is a prerequisite condition to test whether the OS kernel parameter "ip_local_port_range" is properly set. (more details)
Expected Value
: between 9000 & 65500
Actual Value
: between 9000 & 65000
解決辦法:
編輯/etc/sysctl.conf檔案,新增
net.ipv4.ip_local_port_range = 9000 65500
4)aio-max-nr 驗證不通過
This is a prerequisite condition to test whether the OS kernel parameter "aio-max-nr" is properly set. (more details)
Expected Value
: 1048576
Actual Value
: 65536
解決辦法:
編輯/etc/sysctl.conf檔案,新增
fs.aio-max-nr = 1048576
5)wmem_default、wmem_max、rmem_default、rmem_max驗證不通過
解決辦法:
編輯/etc/sysctl.conf檔案,新增
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
6)其他驗證不通過
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
啟用剛所做的變更。 輸入命令: # /sbin/sysctl -p
問題三、checks報錯:
hard
limit maximum open file descriptors報錯:
解決辦法:
為Oracle
使用者設定shell限制
增加shell 限制:
新增下列行到/etc/security/limits.conf 檔案:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
新增或編輯/etc/pam.d/login 檔案,當下面的條目不存在時:
session required pam_limits.so
取決於Oracle使用者預設的shell環境,為預設的shell啟動檔案作下列更改:
對於Bourne, Bash, or Korn shell, 新增下列行到/etc/profile 檔案 (SUSE Linux 則新增到/etc/profile.local):
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi