安裝oracle內核參數說明及設置
kernel.shmmax
說明:
Linux進程可以分配的單獨共享內存段的最大值(byte)
64位的linux操作系統,設置應該大於SGA_MAX_TARGET或MEMORY_MAX_TARGET的值/或者1/2的物理內存大小。如果設置太小,SGA會分配多個內存段,影響性能,最好將SGA放在一個共享內存段中
32位的linux操作系統,最大只能到4G
查看
# grep MemTotal /proc/meminfo
# cat /proc/sys/kernel/shmmax
修改 — 三種方式,推薦第二種
# echo 21474836480 > /proc/sys/kernetbl/shmmax
# sysctl -w kernel.shmmax=21474836480
# echo "kernel.shmmax=21474836480" >> /etc/sysctl.conf
查看共享內存段的個數
ipcs -sa
kernel.shmall
設置共享內存段的頁數
共享內存段是共享內存頁大小的整數倍
設置大小:shmall >= shmmax/Page size
page size: linux 一般為4096bite(4k)
命令:
getconf PAGESIZE
查看大小:
# cat /proc/sys/kernel/shmall
kernel.shmmni
是共享內存段的最大數量
shmmni缺省值4096 足夠
oracle support 說明:
Modify your kernel settings in /etc/sysctl.conf as follows. If the current value for any parameter is higher than the value listed in this table, do not change the value of that parameter. Range values (such as net.ipv4.ip_local_port_range) must match exactly.
kernel.shmall = half the size of physical memory in pages (If the server supports multiple databases, or uses a large SGA, then set this parameter to a value that is equal to the total amount of shared memory, in 4K pages, that the system can use at one time.)
kernel.shmmax = 1/2 of physical RAM in bytes. This would be the value 2147483648 for a system with 4Gb of physical RAM. (refer Note 567506.1 for additional information about configuring shmmax.)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 512 x processes (for example 6815744 for 13312 processes)
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.hugetlb_shm_group =
(for example 1000 if /etc/group line for oinstall is 1000)
To activate these new settings into the running kernel space, run the “sysctl –p” command as root.
Set Shell Limits for the oracle User. Assuming that the “oracle” Unix user will perform the installation, do the following:
a) Add the following settings to /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 10240
b) Add or edit the following line in the /etc/pam.d/xdm file, if it does not already exist:
session required pam_limits.so
c) Add or edit the following line in the /etc/pam.d/su file, if it does not already exist:
session required pam_limits.so
The gcc and g++ RPM items above will ensure that the correct gcc / g++ versions are installed. It is also required that you ensure that these correct gcc / g++ versions are active, and in-use. Ensure that the commands “gcc –version” and “g++ –version” each return “4.3.x”.
The hostname command should return the fully qualified hostname as shown
below:
% hostname -f hostname.domainname
If any Java packages are installed on the system, unset the Java environment variables, for example JAVA_HOME.
The oracle account used to install Oracle Database 12.1, should not have the Oracle install related variables set by default. For example setting ORACLE_HOME, PATH, LD_LIBRARY_PATH to include Oracle binaries in .profile, .login file and /etc/profile.d should be completely avoided.
a.) Setting ORACLE_HOME) is recommended, since it eases a few prompts in the OUI runInstaller tool.
b.) following the successful install, it is recommended to set PATH to include PATH string.
Log in as Oracle user and start the installation as follows:
./runInstaller
a.) it is best practice not to use any form of “su” to start the runInstaller, in order to avoid potential display-related problems.
b.) When performing the Oracle Database 12.1 installation, make sure to use the “runInstaller” version that comes with Oracle Database 12.1 software.
c.) When performing any subsequent Oracle Database 12.1 patchset, make sure to use the “runInstaller” version that comes with the patchset.
參考: