Академический Документы
Профессиональный Документы
Культура Документы
There
might be supporting notes in each and every project we support, to complete it
quicker and more efficiently. One of the pre-requisites we implement is to set up
appropriate Kernel parameters at the operating system level on UNIX platforms.
But, it would be really awesome to understand the reason behind using those
parameters. Incorrect values of these parameters will lead to performance issues in
the database as well. In the Oracle installation documents, it is clearly advised the
list of parameters to set and their respective values.
This blog will explain you the purpose of Kernel parameters we set when installing
database software and its side effects when not set correctly. It will help you to
debug when you tune the performance at the OS level.
List of Parameters:
Below are the list of parameters Oracle advises in the documents to set up on Linux
64-bit environment. We will take this set of parameters in this blog to understand
them in detail.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586
So if you are growing your RAM on the server, then consider to re-check this
parameter.
2.kernel:
SHMMNI No change it should be 4096. It must be increased if you have more than
at least one fourth (1024) Oracle Databases running on the server. Which we never
recommend.
SHMALL By default the page size on Linux is 4KB. The total size of RAM is 8GB. Let
us leave at least 1GB of RAM for Linux kernel to run, with which consider 7GB can be
used for Oracle Databases. Now value of SHMALL can be:
(7*1024*1024)KB/4KB = 1835008
SHMMAX If you want the maximum size of SGA on this server to be 5GB, then this
parameter value should be 5*1024*1024*1024 = 5368709120 bytes. This, in turn,
says that you should not have any database with more than 5GB of SGA. But you
can have multiple databases with each 5GB of SGA or even less. This is the fact why
Oracle recommends to have this value more than half of the memory to utilize it for
SGA(s).
By chance, if your SGA size is more than 5GB say it is 7GB then 2 shared memory
areas will be allocated to SGA with one of 5GB and two of 2GB sizes, which doesnt
perform well.
3.net:
9000
. As I observed.