1、根據oracle安裝文檔給出的建議,要配置如下參數內容,原文內容如下
Parameter |
Replaced by Resource Control |
Recommended Value |
noexec_user_stack |
NA |
1 |
semsys:seminfo_semmni |
project.max-sem-ids |
100 |
semsys:seminfo_semmns |
NA |
1024 |
semsys:seminfo_semmsl |
process.max-sem-nsems |
256 |
semsys:seminfo_semvmx |
NA |
32767 |
shmsys:shminfo_shmmax |
project.max-shm-memory |
4294967295 |
shmsys:shminfo_shmmni |
project.max-shm-ids |
100 |
2、根據 Solaris 可調參數參考手冊 有部分參數已刪除或過時,具體內容如下:(手冊下載)
Solaris 10 發行版中Solaris 系統調優方面的新增功能
System V IPC 配置
在本Solaris 發行版中,所有System V IPC 功能或者是自動配置的,或者可通過資源控制來控制。可共享的功能包括內存、消息隊列以及信號。
通過資源控制,可以在本地系統或名稱服務環境中按項目或按用戶來進行IPC 設置。
在以前的Solaris 發行版中,IPC 功能由內核可調參數來控制。要更改這些功能的缺省值,必須修改/etc/system文件並重新引導系統。
由於IPC 功能現在通過資源控制來控制,因此可以在系統運行過程中修改其配置。
許多以前需要系統調優才能正常運行的應用程序現在無需調優即可運行,因爲增加了缺省資源並且資源是自動分配的。
下表介紹了現已過時的IPC 可調參數及其替代資源控制。
資源控制 |
過時的可調參數 |
原有的缺省值 |
最大值 |
新缺省值 |
process.max-msg-qbytes |
msginfo_msgmnb |
4096 |
ULONG_MAX |
65536 |
process.max-msg-messages |
msginfo_msgtql |
40 |
UINT_MAX |
8192 |
process.max-sem-ops |
seminfo_semopm |
10 |
INT_MAX |
512 |
process.max-sem-nsems |
seminfo_semmsl |
25 |
SHRT_MAX |
512 |
project.max-shm-memory |
shminfo_shmmax |
0x800000 |
UINT64_MAX |
物理內存的1/4 |
project.max-shm-ids |
shminfo_shmmni |
100 |
2的24次冪 |
128 |
project.max-msg-ids |
msginfo_msgmni |
50 |
2的24次冪 |
128 |
project.max-sem-ids |
seminfo_semmni |
10 |
2的24次冪 |
128 |
過時的參數仍可包括在Solaris 系統上的/etc/system 文件中。如果是這樣,則這些參數可像在以前的Solaris 發行版中一樣,用來初始化缺省資源控制值。但是,建議不要使用過時的參數。
以下相關參數已被刪除。如果這些參數包括在Solaris 系統上的/etc/system文件中,則會註釋掉這些參數。
semsys:seminfo_semmns
semsys:seminfo_semvmx
semsys:seminfo_semmnu
semsys:seminfo_semaem
semsys:seminfo_semume
semsys:seminfo_semusz
semsys:seminfo_semmap
shmsys:shminfo_shmseg
shmsys:shminfo_shmmin
msgsys:msginfo_msgmap
msgsys:msginfo_msgseg
msgsys:msginfo_msgssz
msgsys:msginfo_msgmax
Solaris 10 發行版中的新增參數或已更改的參數
System V 消息隊列
在Solaris 10 發行版中,已刪除了以下參數:
msgsys:msginfo_msgmap
msgsys:msginfo_msgmax
msgsys:msginfo_msgseg
msgsys:msginfo_msgssz
從Solaris 10 發行版開始,以下參數已過時:
msgsys:msginfo_msgmnb
msgsys:msginfo_msgmni
msgsys:msginfo_msgtql
System V 信號
在Solaris 10 發行版中,已刪除了以下參數:
semsys:seminfo_semmaem
semsys:seminfo_semmap
semsys:seminfo_semmns
semsys:seminfo_semmnu
semsys:seminfo_semvmx
semsys:seminfo_semume
semsys:seminfo_semusz
System V 共享內存
從Solaris 10 發行版中,已刪除了以下參數:
shmsys:shminfo_shmmin
shmsys:shminfo_shmseg
以下參數已過時。
shmsys:shminfo_shmmni
shmsys:shminfo_shmmax
3、結合實際環境,配置如下機器內存:16G
oracle processes =500
Oracle安裝手冊需要配置參數
set noexec_user_stack = 1
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmns = processes×2+10
set semsys:seminfo_semmsl = processes+10
set semsys:seminfo_semvmx = 32767
set shmsys:shminfo_shmmax = 內存一半或者4294967295(4g)
set shmsys:shminfo_shmmni = 100
根據上文所述
set noexec_user_stack = 1
set semsys:seminfo_semmni 已過時 用project.max-sem-ids代替 默認 128 保持默認
set semsys:seminfo_semmns 已刪除
set semsys:seminfo_semmsl 已過時 用process.max-sem-nsems代替 默認 512, 實際設置500+10 保持默認設置
set semsys:seminfo_semvmx 已刪除
set shmsys:shminfo_shmmax 已過時 用project.max-shm-memory代替 默認 物理內存的1/4
即4G,實際設置4G 保持默認
set shmsys:shminfo_shmmni 已刪除
最後設置爲
修改/etc/system
加入 set noexec_user_stack = 1
完成內核設置
Oracle 安裝配置的內核參數主要是共享內存、信號量、消息隊列3塊內容。
如要修改內核參數,採用如下操作
先檢查oracle用戶的project配置
$ id -p
uid=100(oracle) gid=100(oinstall) projid=100(default)
如果是default,則添加proj配置
1、創建oracle用戶的project
#projadd group.dba
2、在/etc/user_attr 文件添加一行
oracle::::project=group.dba
3、修改內核參數
projmod -sK "project.max-shm-memory=(privileged,4294967295,deny)" group.dba
4、查詢內存參數
prctl -n project.max-shm-memory -i process $$