Home IT Linux Windows Database Network Programming Server Mobile  
           
  Home \ Database \ Oracle to start to solve the error ORA-27102     - Oracle ORA-01089 failure analysis (Database)

- How do you prevent other users from accessing your home directory in Linux (Linux)

- CentOS permanently banned from running in the background PackageKit (Linux)

- Android imitation UC browser scroll up and down functions (Programming)

- MongoDB3.0.6 wiredtiger MMAPv1 (Database)

- Sqoop data export import command (Database)

- Elaborate .NET Multithreading: Concepts (Programming)

- Use OpenSSL to generate a certificate (Linux)

- Linux directory permissions to read and execute permissions difference (Linux)

- expdp / impdp use version parameter data migration across versions (Database)

- System Security: Build Linux with LIDS steel castle (Linux)

- Java enum use (Programming)

- Hadoop - Task Scheduling System Comparison (Server)

- Ubuntu Gitolite management Git Server code base permissions (Server)

- Ubuntu 14.04.02 LTS startup items erroneous writing / dev / sda1 (win 7 loader) Repair (Linux)

- ImportTsv-HBase data import tool (Database)

- VirtualBox virtual machine can not start to solve under Ubuntu (Linux)

- Oracle 10046 Event (Database)

- How to network to share files between Windows, MAC and Linux (Linux)

- Some of the bibliographic management tools to good use on linux (Linux)

 
         
  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 cross compiler core Raspberry Pi 2 (Linux)
- Do you know how to build the Linux kernel (Programming)
- Linux operating system security settings initial understanding (Linux)
- Android Fragment everything you need to know (Programming)
- Linux software firewall ACL match point optimization (Linux)
- Linux install Maven and SVN client (Linux)
- Ubuntu users to install the system indicator SysPeek 0.3 (Linux)
- Server Security Analysis attack on Linux (Linux)
- Package the Python script file into an executable file (Programming)
- Job achieve automation in Ubuntu 14.04 - Using Cron (Linux)
- To share some very useful Vim command (Linux)
- MySQL master recovery from failure using binlog (Database)
- Linux system server network security management tips (Linux)
- Online booking shocking information leakage risk, you dare book the tickets online? (Linux)
- Sort sql MySQL 5.6 upgrade slow Cause Analysis (Database)
- Linux Powerful IDE - Geany configuration instructions (Linux)
- Linux RAID Set RAID 10 or 0 + 1 (Linux)
- Spring3 + SpringMVC + Hibernate4 full annotation environment configuration (Server)
- Oracle 11g can not export a variety of empty table solution (Database)
- CentOS modify yum update source (Linux)
     
           
     
  CopyRight 2002-2016 newfreesoft.com, All Rights Reserved.