Home IT Linux Windows Database Network Programming Server Mobile  
           
  Home \ Database \ Oracle to start to solve the error ORA-27102     - CentOS 6.4 installation environment to build Scrapy 0.22 (Linux)

- Linux install and configure Heartbeat (Server)

- About Linux operating system security (Linux)

- Cobbler batch install Ubuntu / CentOS system (Linux)

- Vim Common Command Summary (Linux)

- MySQL partition table Comments (Database)

- [Android] Eclipse does not update the Android SDK Manager solution [using GoAgent] (Programming)

- CentOS7 management of systemd (Linux)

- Hadoop 2.6.0 stand-alone / pseudo-distributed installation (Server)

- MySQL + Corosync + Pacemaker + DRBD build highly available MySQL (Server)

- BCP importing and exporting large amounts of data Practice (Database)

- Linux (CentOS) directory file management and file system file compression packing (Linux)

- Linux settings Java_home (Linux)

- How to run Kali Linux 2.0 in Docker container (Linux)

- Linux how to view the graphics models notebook (Linux)

- Custom Android UI template Comments (Programming)

- To change CentOS7 runlevel (Linux)

- Android components series Activity (Programming)

- Unix system security configuration (Linux)

- J2EE Example of Filter (Programming)

 
         
  Oracle to start to solve the error ORA-27102
     
  Add Date : 2017-09-20      
         
       
         
  Environment: RHEL5.5 + Oracle 10.2.0.4
This error is usually because the database initialization parameter file memory settings improper. In this case because the operating system parameter settings cause problems.

1. The current phenomenon: Oracle error ORA-27102 Start

2. Check the configuration of the parameters

3. Locate solve problems

4. The extended summary

1. The current phenomenon: Oracle error ORA-27102 Start
[Oracle @ JYDB1 ~] $ sqlplus / as sysdba

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

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

Connected to an idle routine.

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

2. Check the configuration of the parameters

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

File has been created.

To view the current configuration of initialization parameters:
[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
* .processes = 600
* .remote_login_passwordfile = 'EXCLUSIVE'
* .resource_limit = TRUE
* .sessions = 665
* .sga_target = 12582912000
* .undo_management = 'AUTO'
* .undo_tablespace = 'UNDOTBS1'
* .user_dump_dest = '/ Opt / app / oracle // admin / JYZHAO / udump'

You can see, sga = 12G, pga = 1.5G,

2.2 start with pfile file get the same error

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 Idle sufficient 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 to 16G, in line with current needs
[Oracle @ JYDB1 10.2.0] $ df -h / dev / shm
File system capacity has the mount point Used Avail Use%
tmpfs 16G 0 16G 0% / dev / shm

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

------ 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

Here we find that the system found hardware can support sga = 12G, pga = 1.5G configuration.
But this time the next experiment, probably only in the size of sga = 6.5G start the database. sga then 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

You can see the installation documentation is in accordance with the 11g recommended configuration item configuration, which is based on 75% kernel.shmmax calculations to the host memory. Other parameters are not changed.
Because the environment here is Oracle 10g, so we recommend 10g according to the official profile, modify the 10g version of the installation documentation configuration items:
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

sysctl -p after the commencement of the configuration, then try to start the database, the result, unfortunately, is still error ORA-27102.

3. Locate solve problems

Google a bit and found that there may be a result of kernel.shmall this parameter.
To view the current configuration shmmax and shmall
[Root @ JYDB1 ~] # cat / proc / sys / kernel / shmmax
25769803776
[Root @ JYDB1 ~] # cat / proc / sys / kernel / shmall
2097152

Comment out the new configuration parameters kernel.shmall (original /etc/sysctl.conf configuration value in kernel.shmall 4294967296)
# 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

To view the current configuration again shmmax and shmall
[Root @ JYDB1 ~] # cat / proc / sys / kernel / shmmax
25769803776
[Root @ JYDB1 ~] # cat / proc / sys / kernel / shmall
4294967296

At this point you can restart the database sga = 12G, pga = 1.5G normal start, before being given because of configuration items kernel.shmall parameter is too small leads.

4. The extended summary

Oracle official profile, either 10g or 11g, configuration parameters kernel.shmall advice is kernel.shmall = 2097152, then here's what environmental problem?

Let's find out the meaning of this parameter kernel.shmall
[Root @ JYDB1 ~] # cat / etc / RedHat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

In RedHat document 5 on kernel.shmall this parameter has such a description:


7.3. Setting SHMALL Parameter
This parameter sets the total amount of shared memory pages that can be used system wide. Hence, SHMALL should always be at least ceil (shmmax / PAGE_SIZE).
The default size for SHMALL in Red Hat Enterprise Linux 2.1, 3, 4 and 5 is 2097152 which is also Oracle's recommended minimum setting for 9i and 10g on x86 and x86-64 platforms. In most cases this setting should be sufficient since it means that the total amount of shared memory available on the system is 2097152 * 4096 bytes (shmall * PAGE_SIZE) which is 8 GB. PAGE_SIZE is usually 4096 bytes unless you use Chapter 14, Large Memory Optimization, Big Pages, and Huge Pages which supports the configuration of larger memory pages.

Check the default values PAGE_SIZE:
[Root @ JYDB1 ~] # getconf PAGESIZE
4096

Calculation shmmax / PAGE_SIZE value shmmax / PAGE_SIZE = 25769803776/4096 = 6291456,
The root cause of this problem is found, in the current environment, the value of kernel.shmall should at least be set to 6291456.

Summary: Oracle deployment process, but also to system parameters recommended values have some understanding. Some officials suggested parameter file may not match the actual situation, this time can be combined with comprehensive documentation system host to locate the problem.
     
         
       
         
  More:      
 
- CentOS 6.6 installation certification system based on the ftp service (Server)
- VMware virtual machine to use bridged mode fast Internet access (Linux)
- Linux commands with browsing and downloading files (Linux)
- Use window.name + iframe cross-domain access to data Detailed (Programming)
- Linux System Getting Started Learning: From VirtualBox from the client host access NAT (Linux)
- Configuration based on open source Lucene Java development environment (Server)
- Linux memory management -free learning experience (Linux)
- C ++ handling text input (Programming)
- The security configuration of Linux (Linux)
- Oracle 11g user rights management study notes (Database)
- Install Rubinius testing Ubuntu 14.04 native threads (Linux)
- MongoDB Study Notes (1) - Install MongoDB on Windows systems (Database)
- How to Install Foreman under Ubuntu (Server)
- Linux file system data file deletion problem space is not freed (Database)
- pscp use Detailed Windows and Linux each file transfer tool (Linux)
- Java implementation chain store binary tree (Programming)
- Object-C in the preparation of multi-parameter function parameter is omitted (Programming)
- Linux LVM - File system extension (Linux)
- Zabbix monitoring tool deployment under Ubuntu server (Server)
- Linux installation and configuration curl command tool (Linux)
     
           
     
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.