too many files error – error in opening database file





Below article explains about the reason for the too many files error on a unix operating system and so unable to open the oracle datafile. Very useful to the new oracle dba to troubleshoot production problems related to not able to open oracle data file.

Error: 24: Too many open files running initial request set [ID 566234.1]  

 
  Modified 20-JAN-2010     Type PROBLEM     Status ARCHIVED  
       

In this Document
  Symptoms
  Changes
  Cause
  Solution
  References


Applies to:

Oracle Server – Enterprise Edition – Version: 9.2.0.1 to 10.2.0.5
E-Business Intelligence – Version: 11.5.8 to 12.0.5
Information in this document applies to any platform.

Symptoms

When attempting to run an Initial or Incremental request set for a Daily Business Intelligence module the following error occurs:

ERROR

The error raised is:
ORA-01116: error in opening database file 21
ORA-01110: data file 21: ‘/oradata/INSTANCE/rbs01.dbf’
ORA-02741: unable to open file
SVR4 Error: 24: Too many open files
Additional information: 3

The above is an example of the error that could occur.  The actual error may vary in a number of ways.
1) The ORA-01116/ORA-01110 error will usually, but not always reference a database file (.dbf).  It could reference any Operating System file that the oracle process is trying to open.
2) The "Error: 24: Too many open files" is preceded by the name of the operating system.  You could see a line that looks like any of the following (and several others) depending on your operating system..

Linux Error: 24: Too many open files
Linux-x86_64 Error: 24: Too many open files
SVR4 Error: 24: Too many open files
HP-UX Error 24: Too many open files
IBM AIX RISC System/6000 Error: 24: Too many open files
The Error:24 is a Unix error defined in error.h.  It is called "EMFILE"

— Steps To Reproduce:
The issue can be reproduced at will with the following steps:
1. Responsibility : Daily Business Intelligence Administrator
2. Select : Data Summarization : Request Sets > Run Request Sets > Request Set
3. Find the Request Set to run.
4. Submit it to run it and the error will appear.

Changes

Typically occur in new installations/implementations of Daily Business Intelligence.

Cause

The issue is caused by the following setup:
Insufficient file handles specified at the OS level

When any process opens a file, the Operating system needs to keep track of which files are open by which processes. It therefore needs to allocate memory to store the file descriptors (handles) for each process. If the operating system is configured such that the amount of memory allocated to store the file descriptors for each process is insufficient to store the file descriptors for all the files a process wishes to open the Error:24 will result causing the file open command to fail.

Solution

— To implement the solution, please execute the following steps::
1) Check the "soft" limit for the number of file descriptors
ulimit -n
2) Check the "hard" limit for the number of file descriptors
ulimit -Hn
3) If either of these return less than 65536, ask the Operating System administrator to increase both the hard and soft limit of the number of file descriptors available to each process to a minimum of 65536. This may require a reboot for these limits to take effect so discuss with your OS expert
4) Recheck the soft limits and hard limits
5) Restart eBS
6) Test the request set.

Author: admin