oracle啟動遭遇ORA-27102: out of memory
OS: linux 2.6.9-103.ELsmp #1 SMP
DB: 10205, 4節點RAC
背景:
節點1前幾天重啟維護,3個instance起來了倆,第3個TEST03N1啟動時不斷報錯
$ $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
診斷思路:
首先想到的是共享記憶體耗光了
$ 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
根據當前instance程式數判斷,第一行屬於ASM,後兩個為另外兩個instance,而第2行沒有被佔用,應該是TEST03N1關閉時linux回收共享記憶體段失敗導致的;
$ cat /proc/sys/kernel/shmmax
12884901888
$ cat /proc/sys/kernel/shmall
4194304
PAGESIZE為4K,最大允許共享記憶體4194304*4096= 17179869184,當前已佔用4297064448*3+132120576= 13023313920,還剩餘4156555264= 3964M;
而TEST03N1的SGA_MAX_SIZE/SGA_TARGET=4G,所以會報out of memory.
而ipcrm不起作用
$ ipcrm -m 131073
經過一系列測試,可允許設定的SGA_MAX_SIZE/SGA_TARGET最大值為3952M.
此時的共享記憶體段使用情況
$ 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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2148913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 啟動Oracle報錯ORA-27102: out of memory、Linux-x86_64 Error: 28: No space leftOracleLinuxError
- 【ERROR】ORA-27102: out of memory 解決方法Error
- OOM(Out Of Memory)OOM
- OOM(Out Of Memory)是什麼?OOM
- (轉貼)Out of Memory: Killed process
- 完蛋!我被 Out of Memory 包圍了!
- PostgreSQL DBA(95) - PG 12 Partition(out of shared memory)SQL
- git post資料過大報錯-Out of memoryGit
- iOS Out-Of-Memory 原理闡述及方案調研iOS
- ORACLE LARGE MEMORY(zt)Oracle
- Oracle Shared Pool Memory ManagementOracle
- Composer 記憶體不足解決方案 PHP Fatal error: Out of memory記憶體PHPError
- 由node的批量requests引起的”heap out of memory”解決方案
- Out of sort memory, consider increasing server sort buffer size的兩種情況IDEServer
- ORA-04030: out of process memory ...(initSubHeap:qk...)的錯誤解決
- Oracle RAC自啟動Oracle
- 資料庫啟動遭遇ORA-00600: [keltnfy-ldmInit]資料庫
- vi編輯器開啟大檔案報錯0602-101 Out of memory saving lines for undo的解決方法
- Java Out Of Memory解決之JAVA_OPTS引數說明與配置Java
- Win10系統玩cf出現out of memory的解決方法Win10
- Oracle 12C新特性In-MemoryOracle
- Oracle 19c Concepts(14):Memory ArchitectureOracle
- 【MEMORY】Oracle 共享池堆簡單說明Oracle
- oracle配置開機自啟動Oracle
- Oracle啟動兩個監聽Oracle
- 4.3 Oracle Restart元件實現oracle啟動和停止OracleREST元件
- Javascript記憶體溢位,FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryJavaScript記憶體溢位ErrorASTAI
- 4 配置Oracle資料庫自動啟動Oracle資料庫
- Dolphinscheduler不重啟載入Oracle驅動Oracle
- Oracle RAC啟動失敗(DNS故障)OracleDNS
- Oracle資料庫啟動步驟Oracle資料庫
- oracle 10203啟動例項報警Oracle
- Oracle DBLink bug引發的故障(Session Hang Memory leak)OracleSession
- 【OEM】Oracle oem取消開機自動啟動(linux)OracleLinux
- Oracle RAC的自定義service自啟動Oracle
- 4.1.4 關於啟動和停止Oracle RestartOracleREST
- linux7 開機自啟動oracleLinuxOracle
- Oracle 12c叢集啟動故障Oracle
- Oracle 18c新特性詳解:In-Memory 專題Oracle