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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- note the ORA-27102: out of memory errorError
- 【ORACLE】ORA-27102: out of memory報錯的處理Oracle
- 啟動Oracle報錯ORA-27102: out of memory、Linux-x86_64 Error: 28: No space leftOracleLinuxError
- ORA-27102: out of memory故障解決
- oracle使用記憶體的錯誤,ORA-27102: out of memoryOracle記憶體
- 【ERROR】ORA-27102: out of memory 解決方法Error
- ORA-27102: out of memory解決辦法
- ORA-27102 Out of Memory問題處理
- ORA-27102: out of memory 問題解決方法
- windows 32位ORA-27102: out of memory錯誤Windows
- ORA-27102:out of memory Linux-X86_64 .Linux
- ORA-27102: out of memory以及相關係統引數
- ORA-27102: out of memory Linux Error: 28: No space left on deviceLinuxErrordev
- 資料庫增加SGA,導致ORA-27102: out of memory錯誤資料庫
- ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory的處理LinuxError
- Ora-27102: Out Of Memory: Linux Error: 12: [ID 401077.1]LinuxError
- OOM(Out Of Memory)OOM
- java out of memoryJava
- dbca -silent -responsefile 建庫由於tmpfs太小報錯ORA-27102: out of memory
- ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on deviceLinuxErrordev
- startup ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on deviceLinuxErrordev
- OOM--OUT OF MEMORYOOM
- oracle LOGICAL standby ORA-04030: out of process memoryOracle
- An out of memory error has occurred.Error
- OOM(Out Of Memory)是什麼?OOM
- shmall引數設定不當引起資料庫啟動時報out of memory報錯資料庫
- ORACLE ORA-04030之 out of process memory when trying to allocateOracle
- solaris上建立oracle資料庫出現:out of memory 錯誤Oracle資料庫
- Linux 6下EBS R12.2.4開啟報錯 OutOfMemory(out of memory)Linux
- 解決MYSQL工具mysqldump 遇到 Out of memory 方法MySql
- oracle 10g for solaris 10(x86),dbca建庫out of memory處理Oracle 10g
- PostgreSQL DBA(95) - PG 12 Partition(out of shared memory)SQL
- git post資料過大報錯-Out of memoryGit
- iOS Out-Of-Memory 原理闡述及方案調研iOS
- 資料庫啟動出現ORA-27102錯誤資料庫
- 如何基於pfile啟動oracle11g全自動記憶體管理與memory_max_target及memory_targetOracle記憶體
- Oracle11g啟動報:ORA-00845: MEMORY_TARGET not supported on this systemOracle
- A significant part of sql server process memory has been paged outNifiSQLServer