天天看點

安裝oracle時核心參數詳解

Name

Description

Reasonable Values

SHMMAX

Maximum size of shared memory segment (bytes)

250kB + 8.2kB * shared_buffers + 14.2kB * max_connections or infinity

SHMMIN

Minimum size of shared memory segment (bytes)

1

SHMALL

Total amount of shared memory available (bytes or pages)

if bytes, same as SHMMAX; if pages, ceil(SHMMAX/PAGE_SIZE)

SHMSEG

Maximum number of shared memory segments per process

only 1 segment is needed, but the default is much higher

SHMMNI

Maximum number of shared memory segments system-wide

like SHMSEG plus room for other applications

SEMMNI

Maximum number of semaphore identifiers (that is, sets)

>= ceil(max_connections / 16)

SEMMNS

Maximum number of semaphores system-wide

ceil(max_connections / 16) * 17 + room for other applications

SEMMSL

Maximum number of semaphores per set

>= 17

SEMMAP

Number of entries in semaphore map

see text

SEMVMX

Maximum value of semaphore

>= 255 (The default is often 32767, do not change unless asked to.)

   于是在linux上安裝oracle時配置的這三個參數的意義就很清楚了。比如:

     kernel.shmall = 2097152 ------可用共享記憶體的總量,機關頁,在32位系統上一頁=4k,也就是4096位元組。按照這個設定2097152*4k/1024/1024 = 8G, 就是說可用共享記憶體一共 8G

     kernel.shmmax = 2147483648-----單個共享記憶體段的最大數,2147483648/1024/1024=2048M=2G

     kernel.shmmni = 4096 -------單個共享記憶體段的最小值1096b=4k

kernel.shmmax = 268435456

kernel.shmmni=4096

kernel.shmall=2097152

kernel.sem=250 32000 100 128

fs.file-max=65536

net.ipv4.ip_local_port_range=1024 65000

修改/etc/sysctl.conf檔案。其中的幾個參數的含義是:

kernel.shmmax表示最大共享記憶體,如果小的話可以按實際情況而定,一般為實體記憶體的一半,不過我的虛拟機隻有256M,是以就全部算進去了。

shmmni表示最小共享記憶體固定4096KB

shmall表示所有記憶體大小

sem 4個參數依次是SEMMSL:每個使用者擁有信号量最大數,SEMMNS:系統信号量最大數,SEMOPM:每次semopm系統調用操作數,SEMMNI:系統辛苦量集數最大數。這4個參數為固定内容大小。

file-max固定大小65536

ip_local_port_range表示端口的範圍,為指定的内容。

繼續閱讀