溫馨提示×

溫馨提示×

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

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

oracle啟動遭遇ORA-27102: out of memory該怎么辦

發(fā)布時(shí)間:2021-11-08 17:17:22 來源:億速云 閱讀:1095 作者:柒染 欄目:建站服務(wù)器

oracle啟動遭遇ORA-27102: out of memory該怎么辦,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

OS: linux 2.6.9-103.ELsmp #1 SMP

DB: 10205, 4節(jié)點(diǎn)RAC

背景:

節(jié)點(diǎn)1前幾天重啟維護(hù),3個(gè)instance起來了倆,第3個(gè)TEST03N1啟動時(shí)不斷報(bào)錯

$ $ORACLE_HOME/bin/sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 - Production on Mon Sep 16 04:30:06 2013

 

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

 

Connected to an idle instance.

 

SQL> startup nomount;

ORA-27102: out of memory

Linux-x86_64 Error: 28: No space left on device

 

診斷思路:

首先想到的是共享內(nèi)存耗光了

$ ipcs -a

 

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

0xa637e870 0          oracle    640        132120576  17                     

0x00000000 131073     oracle    660        4297064448 1          dest        

0x09c77ebc 229378     oracle    660        4297064448 36                     

0x9b377f58 262147     oracle    640        4297064448 38 

    

根據(jù)當(dāng)前instance進(jìn)程數(shù)判斷,第一行屬于ASM,后兩個(gè)為另外兩個(gè)instance,而第2行沒有被占用,應(yīng)該是TEST03N1關(guān)閉時(shí)linux回收共享內(nèi)存段失敗導(dǎo)致的;

$ cat /proc/sys/kernel/shmmax

12884901888

$ cat /proc/sys/kernel/shmall

4194304

PAGESIZE4K,最大允許共享內(nèi)存4194304*4096= 17179869184,當(dāng)前已占用4297064448*3+132120576= 13023313920,還剩余4156555264= 3964M

TEST03N1SGA_MAX_SIZE/SGA_TARGET=4G,所以會報(bào)out of memory.

ipcrm不起作用

$ ipcrm -m 131073

經(jīng)過一系列測試,可允許設(shè)置的SGA_MAX_SIZE/SGA_TARGET最大值為3952M.

此時(shí)的共享內(nèi)存段使用情況

$ ipcs -a

 

------ Shared Memory Segments --------

key        shmid      owner      perms      bytes      nattch     status     

0xa637e870 0          oracle    640        132120576  17                     

0x00000000 131073     oracle    660        4297064448 1          dest        

0x09c77ebc 229378     oracle    660        4297064448 40                     

0x9b377f58 262147     oracle    640        4297064448 40                     

0x7ede1a40 557060     oracle    640        4146069504 43             

 

大約還剩余10M左右             

SQL> select to_char(17179869184-4297064448*3-132120576-4146069504) from dual;

 

TO_CHAR(

--------

10485760

 

SQL> select 10485760/1024/1024 from dual;

 

10485760/1024/1024

------------------

                10

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

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

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

AI