Oracle startup error ORA-27102 resolution

Source: Internet
Author: User
Oracle startup reports ORA-27102 resolution, which is typically caused by improper memory settings for database initialization parameter files. This example is caused by a problem in operating system parameter settings.

Oracle startup reports ORA-27102 resolution, which is typically caused by improper memory settings for database initialization parameter files. This example is caused by a problem in operating system parameter settings.

Environment: RHEL5.5 + Oracle 10.2.0.4
This error is generally caused by improper memory settings of the database initialization parameter file. This example is due to the problem of operating system parameter settings.

1. Current symptom: Oracle startup error ORA-27102

2. Check the configuration of each parameter

3. Locate and solve the problem

4. Extended Summary

1. Current symptom: Oracle startup error ORA-27102
[Oracle @ JYDB1 ~] $ Sqlplus/as sysdba

SQL * Plus: Release 10.2.0.4.0-Production on Thursday July 30 19:55:10 2015

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

Already connected to the idle routine.

SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

2. Check the configuration of each parameter

2.1 create a pfile based on the current spfile file File
SQL> create pfile = '/tmp/pfile0730.bak' from spfile;

The file has been created.

View the current initialization parameter configuration information:
[Oracle @ JYDB1 dbs] $ more/tmp/pfile0730.bak
JYZHAO. _ db_cache_size = 10938744832
JYZHAO. _ java_pool_size = 117440512
JYZHAO. _ large_pool_size = 16777216
JYZHAO. _ shared_pool_size = 1442840576
JYZHAO. _ streams_pool_size = 33554432
*. Audit_file_dest = '/opt/app/oracle // admin/JYZHAO/adump'
*. Background_dump_dest = '/opt/app/oracle // admin/JYZHAO/bdump'
*. Compatible = '10. 2.0.3.0'
*. Control_files = '/usr3/oradata1/sysdata/control_file/control01.ctl', '/usr3/oradata1/sysdata/control_file/control02.ctl ','
/Usr3/oradata1/sysdata/control_file/control03.ctl'
*. Core_dump_dest = '/opt/app/oracle // admin/JYZHAO/cdump'
*. Db_block_size = 8192
*. Db_domain =''
*. Db_file_multiblock_read_count = 16
*. Db_files = 2048
*. Db_name = 'jyzhao'
*. Dispatchers = '(PROTOCOL = TCP) (SERVICE = JYZHAOXDB )'
*. Job_queue_processes = 10
*. Nls_language = 'simplified CHINESE'
*. Nls_territory = 'China'
*. Open_cursors = 300
*. Pga_aggregate_target = 1572864000
*. Processses = 600
*. Remote_login_passwordfile = 'clusive'
*. Resource_limit = TRUE
*. Sessions = 665
*. Sga_target = 12582912000
*. Undo_management = 'auto'
*. Undo_tablespace = 'undotbs1'
*. User_dump_dest = '/opt/app/oracle // admin/JYZHAO/udump'

We can see that sga = 12G, pga = 1.5G,

2.2 The same error is returned when pfile is started.

Startup pfile = '/tmp/pfile0730.bak'
SQL> startup pfile = '/tmp/pfile0730.bak'
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
SQL>!

2.3 check the host memory,/dev/shm, ipcs

2.3.1 adequate memory
[Oracle @ JYDB1 10.2.0] $ free-g
Total used free shared buffers cached
Mem: 31 0 30 0 0 0
-/+ Buffers/cache: 0 31
Swap: 31 0 31

2.3.2/dev/shm is set to 16 GB.
[Oracle @ JYDB1 10.2.0] $ df-h/dev/shm
File System capacity used available % mount point
Tmpfs 16G 0 16G 0%/dev/shm

2.3.3 ipcs-a has no unreleased shared memory
[Oracle @ JYDB1 10.2.0] $ ipcs-

------ Shared Memory Segments --------
Key shmid owner perms bytes nattch status

------ Semaphore Arrays --------
Key semid owner perms nsems

------ Message Queues --------
Key msqid owner perms used-bytes messages

We found that the hardware of the system supports sga = 12G and pga = 1.5G.
However, after the experiment, the database can only be started at the size of sga = 6.5 GB. Sga again metropolitan error: ORA-27102.

2.4 check the system configuration file/etc/sysctl. conf

More/etc/sysctl. conf
Fs. aio-max-nr = 1048576
Fs. file-max = 6815744
Kernel. shmall = 2097152
Kernel. shmmax = 25769803776
Kernel. shmmni = 4096
Kernel. sem = 250 32000 100 128
Net. ipv4.ip _ local_port_range = 9000 65500
Net. core. rmem_default = 262144
Net. core. rmem_max = 4194304
Net. core. wmem_default = 262144
Net. core. wmem_max = 1048586

We can see that it is configured according to the recommended configuration items in the 11g installation documentation. The kernel. shmmax is calculated based on 75% of the host memory. Other parameters are not changed.
Because the environment here is Oracle 10g, we still follow the 10g official recommendations to change to the 10g version of the installation documentation Configuration:
Kernel. shmall = 2097152
Kernel. shmmax = 25769803776
Kernel. shmmni = 4096
Kernel. sem = 250 32000 100 128
Fs. file-max = 65536
Net. ipv4.ip _ local_port_range = 1024 65000
Net. core. rmem_default = 262144
Net. core. rmem_max = 262144
Net. core. wmem_default = 262144
Net. core. wmem_max = 262144

After the sysctl-p Configuration takes effect, try to start the database at this time, the result is unfortunately, still reports an error ORA-27102.

3. Locate and solve the problem

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.