ORA-27102: outofmemory fault

Source: Internet
Author: User
The latest UAT database migration, because multiple databases need to be migrated to the same machine, after part of the completion, start the subsequent database encountered a ORA-27102 error, prompt memory exceeds, check

The latest UAT database migration, because multiple databases need to be migrated to the same machine, after part of the completion, start the subsequent database encountered a ORA-27102 error, prompt memory exceeds, check

Recent UAT database migration, because multiple databases need to be migrated to the same machine, after part of the completion, start the subsequent database encountered a ORA-27102 error, prompting that the memory exceeds, view the system available memory, what is the same as the sga and pga databases that need to be started? If you encounter a similar error, read it down.

1. Fault
Oracle @ v2013db02u: ~> Cat/etc/issue

Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64)-Kernel \ r (\ l ).

Oracle @ v2013db02u: ~> Sqlplus/as sysdba

SQL * Plus: Release 10.2.0.3.0-Production on Sat Mar 30 09:46:57 2013

Copyright (c) 1982,200 6, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup pfile =/u02/database/MHUAT02/initMHUAT02.ora
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
SQL> ho oerr ora 27102
27102,000 00, "out of memory"
// * Cause: Out of memory
// * Action: Consult the trace file for details


2. Analysis and Solution
-- Check the actual available memory of the system.
-- The actual available memory of the system is more than 50 GB.
SQL> exit
Disconnected
Oracle @ v2013db02u:/u02/database> free-m
Total used free shared buffers cached
Mem: 64435 5968 58467 0 3 4045
-/+ Buffers/cache: 1919 62516
Swap: 32773 1232 31540

-- MetaLink provides a description of this problem [ID 301830.1].
-- It is caused by the small setting of the kernel. shmall value.

Kernel. shmall
This parameter is used to configure the maximum number of shared pages that can be used by the system at a time. The value of this parameter is always ceil (shmmax/PAGE_SIZE)
Oracle 9i, 10 Gb x86 and x86-64 platform recommendations and default size is usually 2097152
In most cases, this parameter is sufficient. According to the calculation method above, the total page memory size can reach 8 GB (2097152*4096 bytes (shmall * PAGE_SIZE ))
Generally, the size of PAGE_SIZE is 4096 bytes Unless Big Pages or Huge Pages are used.
If the system memory exceeds 8 GB, for example, the maximum size of the shared memory segment (shmmax) is 16 GB) it is 16 GB/4KB = 16777216KB/4KB = 4194304 (page)
32 GB, 64 GB, and so on.

-- View the settings of the local machine.
V2013db02u :~ # Getconf PAGE_SIZE
4096

V2013db02u :~ #/Sbin/sysctl-a | grep shm
Vm. hugetlb_shm_group = 0
Kernel. shmmni = 4096 -- defines the maximum number of shared memory segments, that is, how many shared memory segments can be opened, which is generally enough
Kernel. shmall = 2097152 -- because the current server has multiple DBS running, it should be caused by the total number of pages exceeding
Kernel. shmmax = 4294967296 -- defines the maximum value of a single shared memory segment. The original value can be retained because the current server does not have sga greater than 4 GB.

-- When we use free, the system memory usage has exceeded 4 gb, which also indicates that the shmall has exceeded the maximum number of shared pages.

-- Author: Robinson
-- Blog:

V2013db02u :~ # Vi/etc/sysctl. conf -- modify the value of kernel. shmall, change it to the number of pages that can be accommodated by 16 GB, and use the root identity
V2013db02u :~ # Sysctl-p -- make the modification take effect immediately without restarting the server
V2013db02u :~ #/Sbin/sysctl-a | grep shm
Vm. hugetlb_shm_group = 0
Kernel. shmmni = 4096
Kernel. shmall = 4194304
Kernel. shmmax = 4294967296

-- It is normal to restart the database again
Oracle @ v2013db02u: ~> Export ORACLE_SID = MHUAT02
Oracle @ v2013db02u: ~> Sqlplus/as sysdba

SQL * Plus: Release 10.2.0.3.0-Production on Sat Mar 30 10:29:18 2013

Copyright (c) 1982,200 6, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup pfile =/u02/database/MHUAT02/initMHUAT02.ora
ORACLE instance started.

Total System Global Area 599785472 bytes
Fixed Size 2074568 bytes
Variable Size 167774264 bytes
Database Buffers 423624704 bytes
Redo Buffers 6311936 bytes
Database mounted.
Database opened.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.