談談ORACLE核心引數

2021-06-03 10:20:59 字數 2320 閱讀 1029

20 may 2011

發表於:may 20, 2011 1:42 pm

原始出處和作者資訊及

以伺服器記憶體為4g

修改/etc/sysctl.conf

檔案 (root賬戶)

kernel.shmmax = 2147483648

//公式:2g*1024*1024*1024=2147483648(位元組)

//表示最大共享記憶體,如果小的話可以按實際情況而定,一般為物理記憶體的一半(單位:位元組)

kernel.shmmni=4096

//表示最小共享記憶體固定4096kb(由於32位作業系統預設一頁為4k)

kernel.shmall=1048576

//公式:4g*1024*1024/4k = 1048576(頁)

//表示所有記憶體大小(單位:頁)

kernel.sem=250 32000 100 128

//4個引數依次是semmsl:每個使用者擁有訊號量最大數,semmns:系統訊號量最大數,semopm:每次semopm系統呼叫運算元,semmni:系統辛苦量集數最大數。這4個引數為固定內容大小

fs.file-max=65536

//file-max固定大小65536

net.ipv4.ip_local_port_range=1024 65000

//ip_local_port_range表示埠的範圍,為指定的內容

以上步驟做完執行 /sbin/sysctl -p

使核心生效

驗證引數(root賬戶執行):

#/sbin/sysctl -a | grep shm

#/sbin/sysctl -a | grep sem

#/sbin/sysctl -a | grep file-max

#/sbin/sysctl -a | grep ip_local_port_range

1、與oracle

相關的訊號量和共享記憶體段引數

一般unix

系統中和訊號量相關的是三個引數

semmni semmsl semmns

。他們相互關聯決定系統可以分配的訊號量。

oracle

使用訊號量完成內部程序之間的通訊。

關於共享記憶體段使用

shmmx

引數進行總體控制。它指定了系統可以分配的共享記憶體段最大大小,實際並沒有分配那麼多只是給出乙個可以使用的最大限制。

對於類核引數的修改必須要重新啟動系統之後才會生效。

2、出現

訊號量和共享記憶體段相關問題的情況

oracle

只有在startup nomount

的時候才會請求

os的這些資源,用於建立

sga和啟動後台程序。

有些情況下因為

oracle

崩潰之後

os沒有清除

oracle

分配的sga

,也可能造成共享記憶體段不足,需要人工清除。

3、如何解決相關的問題

你可以簡單的修改

init

引數減少

oracle

對共享記憶體段和訊號量的需求。

對於控制訊號量的三個引數

semmni semmsl semmns

。最終可以使用的訊號量由下面公式

提取(semmsl * semmni)

或者semmns

中最小的值。

例如在linux

下. 進入目錄/proc/sys/kernel;用cat命令或more命令檢視semaphore當前引數的值:

cat sem

命令執行後將會出現如下的結果:

250 32000 32 128

其中, 250 是引數semmsl的值,32000是引數semmns的值, 32是引數semopm的值,而128則是引數semmni的值。250*128=32000

對於oracle7

需要訊號量的設定等於

init

中processes

的設定。對於

8i 9i

需要等於

processes*2。

對於訊號量引數的設定一定要小心,因為不正確的設定可能會讓系統使用預設值。這個值一般比

oracle

系統要求的低。在

hp unix

上遇到過這樣的問題,當時在引數配置的時候指定兩個不同的

sem-mni

造成系統使用預設的設定。

對於共享記憶體段,系統的設定至少要等於

sga的大小。

談談ORACLE核心引數

以伺服器記憶體為4g 修改 etc sysctl.conf檔案 root賬戶 kernel.shmmax 2147483648 公式 2g 1024 1024 1024 2147483648 位元組 表示最大共享記憶體,如果小的話可以按實際情況而定,一般為物理記憶體的一半 單位 位元組 kernel...

oracle系統核心引數優化

核心引數優化 參考 oracle dba工作筆記 1 fs.aio max nr 可以同時擁有的非同步io請求的數目,oracle推薦1048576 1024x1024 也就是1024k。root 11g cat proc sys fs aio max nr 1048576 這個引數表示系統所有程序...

Linux核心引數和Oracle相關引數調整

shared memory segments key shmid owner perms bytes nattch status 0x00000000 65537 oracle 640 4194304 27 0x00000000 98306 oracle 640 20971520 27 0x0000...