Forum
Merhaba arkadaslar, IBM X3650 2 CPU lu ve 32GB ramli bir sunucum var , üzerinde Redhat Enterprise Linux 5 64 bit isletim sistemi ve , oracle 11G x64 database yüklemeyi düsünüyorum , oracle in sitesinden bir dokuman buldum , burda 32 GB lik ramli bir donanıma gore assagidaki kernel yapilandirmasında bir değişiklik yapmam gerekiyor mu, yoksa assagidaki yapilandirmayi değiştirmeden aynen kullanabilirmiyim , saygılar iyi çalışmalar. Configuring the Linux Kernel Parameters Oracle Database 11g Release 1 requires the kernel parameter settings shown below. The values given are minimums, so if your system uses a larger value, don't change it. Linux allows modification of most kernel parameters while the system is up and running, so there's no need to reboot the system after making kernel parameter changes. kernel.shmall = 2097152 Note that OEL 5 already has values defined for kernel.shmall and kernel.shmmax. Use the default values if they are the same or larger than the required values. If you're following along and have just installed Linux, the kernel parameters will all be at their default values and you can just cut and paste the following commands while logged in as root. cat >> /etc/sysctl.conf <<EOF /sbin/sysctl -p net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=262144 > kernel.shmmni = 4096 > kernel.sem = 250 32000 100 128 > fs.file-max = 65536 > net.ipv4.ip_local_port_range = 1024 65000 > net.core.rmem_default=4194304 > net.core.wmem_default=262144 > net.core.rmem_max=4194304 > net.core.wmem_max=262144 > EOF # /sbin/sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 4294967295 kernel.shmall = 268435456 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 262144 Run the following commands as root to verify your settings: /sbin/sysctl -a | grep shm Setting shell limits for the oracle user Oracle recommends setting limits on the number of processes and open files each Linux account may use. To make these changes, cut and paste the following commands as root: cat >> /etc/security/limits.conf <<EOF Change the default profile for bash and ksh as well as the default login script for cshell. cat >> /etc/profile <<EOF
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
EOF
Ex:
# cat >> /etc/sysctl.conf <<EOF
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max
Ex:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 268435456
kernel.shmmax = 4294967295
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
# /sbin/sysctl -a | grep rmem_default
net.core.rmem_default = 4194304
# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 4194304
# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 262144
# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 262144
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
Belirtildiği gibi kullanılabilir.
Eğer bir aksaklık olursa zaten 11g R2 de fix için bir tools'u var bu en son install etmek istediğinizde gerekli düzenlemeleri sağlayacaktır.
Teşekkürler
Merhaba,
Girilen parametre değerine göre SGA_MAX_SIZE değerin 512 GB değerini işaret etmekte. Bu değer en fazla fiziksel RAM değerin olabilir, o da bahsettin üzere 32GB * 1024 *1024 = 33554432 olması gerek en fazla. Yani kernel.shmmax değerinin bu rakamı geçmemesi tavsiye edilir. Bu değerin gerçek fiziksel RAM değerinden aşırı yüksek olması durumunda SGA alanında bir takım sıkıntılar yaşayabilmektesiniz.
kernel.shmmax =
Bunun yanında alttaki kernel.sem kernel parametresi hesabı altta yer alıyor.
kernel.sem = 250 32000 100 128
- 250 değerinin olduğu kısım SEMMSL değeridir ve 64 bit Oracle 10g platformunda PROCESSES parametre değerinin on katı olması lazımdır.
- 32000 değerinin olduğu kısım SEMMSL*SEMMNI değeri çarpımı çıkan değer olması gerekir.
- 100 değerinin olduğu kısım SEMOPM değeridir ve SEMMSL ile aynı değerde tutulması tavsiye edilir.
Bunun yanında diğer Kernel parametrelerinin RAM değeri, sistem üzerindeki toplam Oracle veritabanı sayısı ve SGA değerleri bazında analiz edip sana gerekli parametreler ile ayarlaman gerekmektedir. Aksi durumda performansta çok büyük sıkıntılar yaşayabilirsin. Oracle için gerekli parametre değerlerinin formullerinin olduğu blog sayfam alttadır. Umarım faydalı olur...
http://uguroracle.blogspot.com/2010/12/oracle-10g-kurulumunda-kernel-parametre.html