溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么維護(hù)ORACLE在各操作系統(tǒng)信號(hào)量與共享內(nèi)存

發(fā)布時(shí)間:2021-11-10 14:49:44 來源:億速云 閱讀:108 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“怎么維護(hù)ORACLE在各操作系統(tǒng)信號(hào)量與共享內(nèi)存”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么維護(hù)ORACLE在各操作系統(tǒng)信號(hào)量與共享內(nèi)存”吧!

1.LIUNX

cat /etc/sysctl.conf

共享內(nèi)存:

kernel.shmall = 2097152 # 可以使用的共享內(nèi)存的總量,單位:頁。 取值:推薦大于shmmax/page_size(getconf PAGE_SIZE 一般4096)

kernel.shmmax = 2147483648 # 最大單個(gè)共享內(nèi)存段大小。           取值:推薦大于sag_max_size

kernel.shmmni = 4096 # 整個(gè)系統(tǒng)共享內(nèi)存段的最大數(shù)目。              取值:默認(rèn)值

信號(hào)量:

kernel.sem = 5010 641280 5010 128 #SEMMSL, SEMMNS, SEMOPM, SEMMNI

每個(gè)信號(hào)對(duì)象集的最大信號(hào)對(duì)象數(shù);系統(tǒng)范圍內(nèi)最大信號(hào)對(duì)象數(shù);每個(gè)信號(hào)對(duì)象支持的最大操作數(shù);系統(tǒng)范圍內(nèi)最大信號(hào)對(duì)象集數(shù)。

SEMMSL

設(shè)置:最小250;對(duì)于processes參數(shù)設(shè)置較大的系統(tǒng)建議設(shè)置為processes+10

SEMMNS

設(shè)置:至少32000;SEMMSL * SEMMNI 

SEMOPM

設(shè)置:至少100;或者等于SEMMSL 

SEMMNI

含義:linux系統(tǒng)信號(hào)量set最大個(gè)數(shù) 

設(shè)置:最少128 

2.HPUX

信號(hào)量:

kctune -h -B semmni="4096"   全系統(tǒng)的最大信號(hào)量                                 Default:  nproc(全系統(tǒng)進(jìn)程的最大數(shù))

kctune -h -B semmns="16384"  全系統(tǒng)內(nèi),用戶可訪問的最大信號(hào)量  Default:  semmni*2

kctune -h -B semmnu="4092"   每個(gè)信號(hào)量的最大數(shù)                                Maximum:  nproc-4

kctune -h -B semvmx="32767"  所允許的信號(hào)量值的最大數(shù)                    Maximum:  65535

共享內(nèi)存:

kctune -h -B shmmax="34359738368"   最大共享內(nèi)存段大小

kctune -h -B shmem=1                              啟動(dòng)/關(guān)閉共享內(nèi)存 1(開啟)

kctune -h -B shmmni="4096"                   系統(tǒng)上的最大段

kctune -h -B shmseg="512"                     每個(gè)進(jìn)程的最大段           Maximum:    shmmni

3.AIX

AIX一般不用手工調(diào)整,而是系統(tǒng)動(dòng)態(tài)的,如果運(yùn)行后報(bào)共享內(nèi)存或信號(hào)量不足,將maxuproc單個(gè)用戶允許的最大進(jìn)程數(shù) 調(diào)大即可(用命令smitty system或chdev)。

$su – root

#chdev –l sys0 –a maxuproc=1000

4.Solaris

修改Solaris 9里/etc/system,參考值如下所示:

信號(hào)量:

set semsys:seminfo_semmni=20000   指定最大信號(hào)標(biāo)識(shí)符數(shù)

set semsys:seminfo_semmsl=29000   指定每個(gè)信號(hào)標(biāo)識(shí)符的最大 System V 信號(hào)數(shù)

set semsys:seminfo_semmns=30000   系統(tǒng)上的最大 System V 信號(hào)數(shù)。

set semsys:seminfo_semopm=31000   指定每個(gè) semop 調(diào)用的最大 System V 信號(hào)操作數(shù)。

set semsys:seminfo_semmnu=32000   System V 信號(hào)系統(tǒng)支持的撤消結(jié)構(gòu)總數(shù)。

set semsys:seminfo_semume=10         可以由任一進(jìn)程使用的最大 System V 信號(hào)撤消結(jié)構(gòu)數(shù)

set semsys:seminfo_semvmx=32767   可以設(shè)置的最大信號(hào)值

共享內(nèi)存:

shmsys:shminfo_shmmni   對(duì)可以創(chuàng)建的共享內(nèi)存段數(shù)設(shè)置的系統(tǒng)范圍限制。

shmsys:shminfo_shmmax   可以創(chuàng)建的 System V 共享內(nèi)存段的最大大小。

----------

信號(hào)量與共享內(nèi)存管理

----------

1.ORACLE提供了sysresv工具管理共享內(nèi)存以及信號(hào)量

$ sysresv -l "ORCL" 查看實(shí)例對(duì)應(yīng)的信號(hào)量與共享內(nèi)存

IPC Resources for ORACLE_SID "ORCL":

Shared Memory:

ID              KEY

65537           0x3b751258

Semaphores:

ID              KEY

98304           0xe21c75d0

Oracle Instance alive for sid "ORCL"

sysresv -f參數(shù)可以移除共享段(僅適用于實(shí)例不存在,操作系統(tǒng)共享段不釋放條件)

$ export ORACLE_SID=orcl 

$ sysresv -f orcl

2.操作系統(tǒng)級(jí)別可以通過ipcs/ipcrm管理(多實(shí)例下可以結(jié)合sysresv確定)

ipcs -a或ipcs 顯示當(dāng)前系統(tǒng)中共享內(nèi)存段、信號(hào)量集、消息隊(duì)列的使用情況;

ipcs -m 顯示共享內(nèi)存段的使用情況;

ipcs -s 顯示信號(hào)量集的使用情況;

ipcs -q 顯示消息隊(duì)列的使用情況;

清理相關(guān)共享內(nèi)存、信號(hào)量,隊(duì)列等共享信息命令如下:

ipcrm -s semid 刪除對(duì)應(yīng)的信號(hào)量集

ipcrm -m shmid 刪除對(duì)應(yīng)的共享內(nèi)存段

ipcrm -q msqid 刪除對(duì)應(yīng)的消息隊(duì)列

3.經(jīng)常有因?yàn)楣蚕韮?nèi)存、信號(hào)量,隊(duì)列等共享信息沒有干凈地清理而引起一些問題

比如:

SQL> startup

ORA-27154: post/wait create failed 

ORA-27300: OS system dependent operation:semget failed with status: 28 

ORA-27301: OS failure message: No space left on device 

ORA-27302: failure occurred at: sskgpcreates

這個(gè)時(shí)就可能需要清理相關(guān)的信號(hào)量(也可以增加信號(hào)量值)

感謝各位的閱讀,以上就是“怎么維護(hù)ORACLE在各操作系統(tǒng)信號(hào)量與共享內(nèi)存”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)怎么維護(hù)ORACLE在各操作系統(tǒng)信號(hào)量與共享內(nèi)存這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI