Maximum simultaneous opened files in a java thread on linux 1.4.20

Hello,
It seems like a maximum of 1024 files can be opened by a processus on linux (in java, a thread is a linux processus).
Is it possible to change this value, or has it been set at the JVM compilation?
I created a nio server, and one thread is to manage thousands of connections. For the moment I can't pass 1010 connections.
As a fast test, I created the following source :
public class MaxOpenedFilesTest {
/** Creates a new instance of MaxOpenedFilesTest */
public MaxOpenedFilesTest() {
* @param args the command line arguments
public static void main(String[] args) {
File f = new File("/home/greg/a.out");
FileInputStream[] stream = new FileInputStream[2000];
try {
for (int i=0; i<stream.length; i++) {
stream[i] = new FileInputStream(f);
System.out.println(i+" files opened");
catch (Exception e) {
System.out.println("ERROR : "+e);
e.printStackTrace();
This test throws an IOException at 1019 files opened : Too many opened files...
I have tested a lot of things. I even recompiled the linux kernel. Changed the NR_OPEN, OPEN_MAX, __FD_SETSIZE, etc... Still don't work.
I havve set the global maximum file descriptor to 65536. It works. But for one thread, I can't have more than 1019 file descriptors (must be the 1024 initial limit defined by the kernel)...
Could somebody help.
It would be great.
Thank you.
Gr�goire.

Thank you for your answer.
I have already done all the described procedures in the link you provided.
In fact, I used this link :
file:///home/greg/1_NetNoLedge/LinuxTuning/linux.html
and this other one :
file:///home/greg/1_NetNoLedge/LinuxTuning/s1-custom-kernel-modularized.html
Still only 1024 files allowed to be opened for one process...
In your link, it is said :
You need to give processes the option of increasing their file descriptor limits:
In /etc/security/limits.conf add two lines:
* soft nofile 1024
* hard nofile 4096
Suggesting that it wouldn't even be necessary recompile the kernel to allow more opened file descriptors in a process... This really isn't clear for me.
Thank you.

Similar Messages

  • Loadjava Error while opening file: –resolve  Exception java.io.FileNotFound

    Dears,
    I'm having Oracle 11gr2 on Windows 2008r2. I have very strange issue while trying to load ordinary Java source. I get error that loadjava can't open file. I'm using the following command in loading:
    %ORACLE_HOME%\dbhome_1\BIN\loadjava -thin -user ORAMQ/***@localhost:1521:DEVAR -verbose -fileout %C:\temp\loadjava-9-MQReasonCodeResolver.java.log C:\src\MQReasonCodeResolver.java –resolve-----
    I got the following error in the verbose file out:
    arguments: '-user' 'ORAMQ/***@localhost:1521:DEVAR' '-thin' '-verbose' '-fileout' 'C:\temp\loadjava-9-MQReasonCodeResolver.java.log' 'C:\src\MQReasonCodeResolver.java' '–resolve'
    creating : source MQReasonCodeResolver
    loading  : source MQReasonCodeResolver
    Error while opening file: –resolve
        Exception java.io.FileNotFoundException: –resolve (The system cannot find the file specified)
    creating :  –resolve
    The following operations failed
         –resolve: opening file-----
    The code is very simple and doesn't have any issue:
    import java.lang.reflect.Field;
    public class MQReasonCodeResolver
        public MQReasonCodeResolver()
        public static final String MQ_EXCEPTION_CLASS = "com.ibm.mq.MQException";
        public static final String RC_FIELD_PREFIX = "MQRC_";
        public static final String RC_VALUE_FIELD = "reasonCode";
        public static String resolve( Exception mqex )
            if ( !canResolve( mqex ) )
                return mqex.getClass().toString() + mqex.getMessage();
            Class class1 = mqex.getClass();
            try
                Field field = class1.getField( RC_VALUE_FIELD );
                Object key = field.get( mqex );
                Field[] fields = class1.getFields();
                for ( int i = 0; i < fields.length; i++ )
                    Field ff = fields;
    String name = ff.getName();
    if ( name.startsWith( RC_FIELD_PREFIX ) && ff.get( null ).equals( key ) )
    return mqex.getMessage() + " " + name;
    catch ( Exception ex )
    return "unknown";
    public static boolean canResolve( Exception exx )
    Class class1 = exx.getClass();
    while ( Exception.class.isAssignableFrom( class1 ) )
    if ( MQ_EXCEPTION_CLASS.equals( class1.getName() ) )
    return true;
    class1 = class1.getSuperclass();
    return false;
    I load other classes and no issue, even jar files, I don't know what is the problem with this file? Also, it is strange is creating class and loading it has no issue, but the issue comes when resolve.
    Can anyone help?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi:
    Put your -resolve flag at the beginning of the list of arguments.
    Latest arguments should be files to be uploaded by loadjava.
    Best regards, Marcelo.

  • Finding hard and soft open file limits from within jvm in linux

    Hi All,
    I have a problem where I need to find out the hard and soft open file limits for the process in linux from within a java program. When I execute ulimit from the terminal it gives separate values for hard and soft open file limits.
    From shell if I run the command then the output is given below:
    $ ulimit -n
    1024
    $ ulimit -Hn
    4096
    The java program is given below:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.Reader;
    import java.io.StringWriter;
    import java.io.Writer;
    public class LinuxInteractor {
    public static int executeCommand(String command, boolean waitForResponse, OutputHandler handler) {
    int shellExitStatus = -1;
    ProcessBuilder pb = new ProcessBuilder("bash", "-c", command);
    pb.redirectErrorStream(true);
    try {
    Process shell = pb.start();
    if (waitForResponse) {
    // To capture output from the shell
    InputStream shellIn = shell.getInputStream();
    // Wait for the shell to finish and get the return code
    shellExitStatus = shell.waitFor();
    convertStreamToStr(shellIn, handler);
    shellIn.close();
    catch (IOException e) {
    System.out
    .println("Error occured while executing Linux command. Error Description: "
    + e.getMessage());
    catch (InterruptedException e) {
    System.out
    .println("Error occured while executing Linux command. Error Description: "
    + e.getMessage());
    return shellExitStatus;
    public static String convertStreamToStr(InputStream is, OutputHandler handler) throws IOException {
    if (is != null) {
    Writer writer = new StringWriter();
    char[] buffer = new char[1024];
    try {
    Reader reader = new BufferedReader(new InputStreamReader(is,
    "UTF-8"));
    int n;
    while ((n = reader.read(buffer)) != -1) {
    String output = new String(buffer, 0, n);
    writer.write(buffer, 0, n);
    if(handler != null)
    handler.execute(output);
    } finally {
    is.close();
    return writer.toString();
    } else {
    return "";
    public abstract static class OutputHandler {
    public abstract void execute(String str);
    public static void main(String[] args) {
    OutputHandler handler = new OutputHandler() {
    @Override
    public void execute(String str) {
    System.out.println(str);
    System.out.print("ulimit -n : ");
    LinuxInteractor.executeCommand("ulimit -n", true, handler);
    System.out.print("ulimit -Hn : ");
    LinuxInteractor.executeCommand("ulimit -Hn", true, handler);
    If I run this program the output is given below:
    $ java LinuxInteractor
    ulimit -n : 4096
    ulimit -Hn : 4096
    I have used ubuntu 12.04, Groovy Version: 1.8.4 JVM: 1.6.0_29 for this execution.
    Please help me in understanding this behavior and how do I get a correct result from withing the java program.

    Moderator Action:
    As mentioned in one of the earlier responses:
    @OP this is not a Java question. I suggest you take it elsewhere, i.e. to a Unix or Linux forum.You posted this to a Java programming forum.
    It is not a Java programming inquiry.
    This off-topic thread is locked.
    Additionally, you have answered your own question.
    Don't bother posting it to one of the OS forums. It will get deleted as a duplicate cross-post.

  • Open file dialog in java apps causes segmentation fault

    Started to happen since sometime early in the java 1.5 releases (the early developer releases and still now)
    Programs like Eclipse (3.1.x) and Azureus (2.3.0.x), when I try and open a file using the toolbar or menu the application dumps. I am tried repairing permissions, deleting java config/cache files, etc. No luck.
    I thought I narrowed it down to either my external firewire drive or samba volume being mounted, but that seemed to just be a false positive.
    here is part of the backtrace:
    Local Time = Mon Jan 30 01:28:05 2006
    # This JavaNativeCrash log describes the Java state at a Native Crash in a Java application.
    # The corresponding native state can be found in the crash log generated by CrashReporter.
    # If this error is reproducible, please report it with the following information:
    # 1. Provide the steps to reproduce, a test case, and any relevant information
    # 2. This JavaNativeCrash_pid<num>.crash.log (Java state)
    # 3. The corresponding <name>.crash.log (native state; generated by CrashReporter)
    # File report at: http://bugreport.apple.com/
    # An unexpected Java error has been detected by HotSpot Virtual Machine:
    # Java VM: Java HotSpot(TM) Client VM (1.5.0_06-57 mixed mode)
    # Bus Error (0xa) at pc=0xfffeff18, pid=10101, tid=25184768
    --------------- T H R E A D ---------------
    Current thread (0x005014f0): JavaThread "main" [thread_innative, id=-1610551960]
    Stack: [0xbf800000,0xc0000000)
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j org.eclipse.swt.internal.carbon.OS.NavDialogRun(I)I+0
    j org.eclipse.swt.widgets.DirectoryDialog.open()Ljava/lang/String;+167
    dual core 2.3, 2.5gb ram, 2x36gb sata wd raptors   Mac OS X (10.4.4)  

    I forgot to tell you that we in this case use a remote connection through Cisco VPN. Are there difference in how Jinitiator and SUN's JPI handle this
    We also tried against other customer width the same result. It seems to have importance if you are remote or not. If you are on local LAN it seems to be the almost the same time if you use Jinitiator or SUN's JPI.
    //Robert

  • JAVA opening file streams q

    ok my question is how to:
    1. open file stream
    save something (system)
    ensure it gets written onto a disk
    close open files!
    thanks

    http://java.sun.com/docs/books/tutorial/essential/io/index.html

  • What have "Too many open Files" to do with FIFOs?

    Hi folks.
    I've just finished a middleware service for my company, that receives files via a TCP/IP connection and stores them into some cache-directory. An external program gets called, consumes the files from the cache directory and puts a result-file there, which itself gets sent back to the client over TCP/IP.
    After that's done, the cache file (and everything leftover) gets deleted.
    The middleware-server is multithreaded and creates a new thread for each request connection.
    These threads are supposed to die when the request is done.
    All works fine, cache files get deleted, threads die when they should, the files get consumed by the external program as expected and so on.
    BUT (there's always a butt;) to migrate from an older solution, the old data gets fed into the new system, creating about 5 to 8 requests a second.
    After a time of about 20-30 minutes, the service drops out with "IOException: Too many open files" on the very line where the external program gets called.
    I sweeped through my code, seeking to close even the most unlikely stream, that gets opened (even the outputstreams of the external process ;) but the problem stays.
    Things I thought about:
    - It's the external program: unlikely since the lsof-command (shows the "list of open files" on Linux) says that the open files belong to java processes. Having a closer look at the list, I see a large amount of "FIFO" entries that gets bigger, plus an (almost) constant amount of "normal" open file handles.
    So perhaps the handles get opened (and not closed) somehwere else and the external program is just the drop that makes the cask flood over.
    - Must be a file handle that's not closed: I find only the "FIFO" entries to grow. Yet I don't really know what that means. I just think it's something different than a "normal" file handle, but maybe I'm wrong.
    - Must be a socket connection that's not closed: at least the client that sends requests to the middleware service closes the connection properly, and I am, well, quite sure that my code does it as well, but who knows? How can I be sure?
    That was a long description, most of which will be skipped by you. To boil it down to some questions:
    1.) What do the "FIFO" entries of the lsof-command under Linux really mean ?
    2.) How can I make damn sure that every socket, stream, filehandle etc. pp. is closed when the worker thread dies?
    Answers will be thanked a lot.
    Tom

    Thanks for the quick replies.
    @BIJ001:
    ls -l /proc/<PID>/fdGives the same information as lsof does, namely a slowly but steadily growing amount of pipes
    fuserDoesn't output anything at all
    Do you make exec calls? Are you really sure stdout and stderr are consumed/closed?Well, the external program is called by
    Process p = Runtime.getRuntime().exec(commandLine);and the stdout and stderr are consumed by two classes that subclass Thread (named showOutput) that do nothing but prepending the corresponding outputs with "OUT:" and "ERR" and putting them into a log.
    Are they closed? I hope so: I call the showOutput's halt method, that should eventually close the handles.
    @sjasja:
    Sounds like a pipe.Thought so, too ;)
    Do you have the waitFor() in there?Mentioning the waitFor():
    my code looks more like:
    try  {
         p = Runtime.getRuntime.exec(...);
         outshow = new showOutput(p.getInputStream(), "OUT").start;
         errshow = new showOutput(p.getErrorStream(), "ERR").start;
         p.waitFor();
    } catch (InterruptedException e) {
         //can't wait for process?
         //better go to sleep some.
         log.info("Can't wait for process! Going to sleep 10sec.");
         try{ Thread.sleep(10000); } catch (InterruptedException ignoreMe) {}
    } finally {
         if (outShow!=null) outShow.halt();
         if (errShow!=null) errShow.halt();
    /**within the class showOutput:*/
    /**This method gets called by showOutput's halt:*/
    public void notifyOfHalt() {
         log.debug("Registered a notification to halt");
         try {
              myReader.close(); //is initialized to read from the given InputStream
         } catch (IOException ignoreMe) {}
    }Seems as if the both of you are quite sure that the pipes are actually created by the exec command and not closed afterwards.
    Would you deem it unlikely that most of the handles are opened somewhere else and the exec command is just the final one that crashes the prog?
    That's what I thought.
    Thanks for your time
    Tom

  • Open file dialog through JSF

    can any one tell me how to display a open file dialog through java Server Faces

    Not here.
    This forum addresses Sun Jave Enterprise Messaging Server, not Java programming. We're not expert with Java.

  • Number of Open Files in DB Server

    Hi everyone,
    I need some advise from Unix and Oracle experts on a query that my customer raised.
    There are 3 additional application servers added recently. Before the app servers are brought up, I increased the Oracle processes and sessions parameters.
    Then, my customer's UNIX administrator asked this question which made me ponder if it's true :
    "Changing some of the Oracle parameters can also effect the Unix kernel parameters.  For example if there are 256 data files and 4 application servers each with 99 work processes that means that SAP can have at least 101,376 open files on the DB server without the additional Oracle open files and those need for the OS etc. "
    I just wonder, does SAP processes really perform read-write on the Oracle datafiles ? Isn't it that the SAP processes logon to Oracle server processes, and it is the Oracle instance that perform the IO on the datafiles ?
    The DB server has 343 processes which corresponds to the actual number of total processes in all the app servers. And there are 202 datafiles.
    Does that means only 343 processes will open datafiles ? Or will it be 202 files open only ? Or is it like what the Unix administrator said in the example ?
    Can someone please enlighten me ?
    Thank you,
    Kent Peh

    Hi again
    I give you some example with commands on a real system.
    SQL> select count(*) from dba_data_files;
      COUNT(*)
           262
    SQL> select count(*) from dba_temp_files;
      COUNT(*)
             8
    SQL> show parameter processes
    NAME                                 TYPE        VALUE
    processes                            integer     620
    So we have a system with 270 data/tempfiles and a maxium of 620 processes, so the theoretical maximum of open files can be over 270x620. Lets check how many processes we really have at the moment:
    orasid> ps -ef | grep ora | wc -l
    330
    This includes, all shadow and background processes one shell (mine) and even my ps command )
    But we do have slightly above 300 oracle processes here. So we might have roughly 270x300 = 81000 files open at the moment. Lets see, i use lsof to list the open files of the oracle command and redirect the output to a file, just because there is really a lot of files open on this system:
    orasid> lsof -c oracle > /tmp/lsof.out
    This includes directory entries, looks like there is some shared memory stuff, even tcp connections as well (we forgot about these until now). I think all these need file handles on unix as well, so be it. So in our example we have 46557 files open:
    orasid> wc -l lsof.out
    46557 lsof.out
    You can dig further in the lsof.out, for example how many times is one single data file open:
    orasid> grep /oracle/SID/sapdata2/stabd_4/stabd.data4 lsof.out | wc -l
    209
    I hope i did not do too many mistakes here, have fun!
    Best regards, Michael
    BTW: there is a maximum of 131072 (= 0x20000) open files on this system (HP-UX IA64)
    orasid> /usr/sbin/kctune -v nfile
    Tunable             nfile
    Description         Maximum number of file descriptors (system-wide)
    Module              fs
    Current Value       0x20000
    Edited by: mho on Feb 7, 2008 9:26 AM

  • Finding out that an open file has changed

    Hi. I'm working on a java app to monitor a log file. Unfortunately, when the log file rotation occurs (by moving the file to "log.1" and creating a new "log") I can't figure out how to determine that from my app; the code just goes it's merry way. When the file is renamed, the open file in the java app continues to have access to the original file (under the new name) and if I add lines to the "log.1" file, the java app continues to read them.
    This is on JDK 1.4.0 for Linux, and I'm using a RandomAccessFile object.
    Any ideas? Other than (wastefully) opening a new File everytime through the monitor loop I can't think of a clean solution.
    mike ([email protected])

    use getLastModified date

  • Java 5 threads in linux

    Hi,
    I am using the following java version in Linux
    java version "1.5.0_06"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
    Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
    Threads are created using the source code:
    private static ExecutorService thPool = Executors.newFixedThreadPool(5);
    My question is how threads are created in linux using the mentioned runtime.
    1. Does the code line above create 5 linux native threads (process)?
    2. Does it create java threads? Don't know if java and native threads are same.
    3. If answer of the question 1 is "NO" then does one native linux threads for java runtime do all the concurrent execution?
    Please explain. Any documents on java threads in Linux for java 5?
    Thanks in advance
    Sunny

    What is your problem that makes you worry aboutthose things?
    Java for Linux uses NPTL thread library for itsthread.
    Browse the link to see what I wanted:
    http://groups.google.com/group/comp.lang.java.programm
    er/browse_thread/thread/2848feac5cd52151/9b6f6bf226ca9
    ef0?lnk=raot#9b6f6bf226ca9ef0reply 1, again. I don't understand your problem yet.

  • Illustrator won't run: "unable to set maximum number of files to be opened"

    I have an intel macbook pro (core duo with 2GB ram) and a copy of purchased adobe creative suite 2. Other applications in the suite like photoshop, acrobat, etc can run on my mac without any problem. But when I try to run illustrator, it just shows an error message "Unable to set maximum number of files to be opened" and quits. I also installed a trial version of illustrator cs3 and got the same problem. Can anyone help? Thanks.
    CC

    Hi, I realize this is an old thread but it was unanswered and the issue has come up again in a newer thread:
    http://forums.adobe.com/message/2534652
    If the original poster sees this, can you reply tin the new thread and let us know if you were ever to solve this problem?
    Thanks!

  • ORA-22290: operation would exceed the maximum number of opened files or LOB

    i am getting this error in a procedure.
    ORA-22290: operation would exceed the maximum number of opened files or LOBs
    22290, 00000, "operation would exceed the maximum number of opened files or LOBs"
    // *Cause: The number of open files or LOBs has reached the maximum limit.
    // *Action: Close some of the opened files or LOBs and retry the operation.
    NAME TYPE VALUE
    session_max_open_files integer 10
    Procuedure:
    CREATE OR REPLACE PROCEDURE WMSOWN."PROC_WMS_XML_READ"
    P_EVENT_KEY IN VARCHAR2,
    X_STATUS_MSG OUT VARCHAR2,
    X_STATUS OUT NUMBER
    )AS
    l_parser dbms_xmlparser.Parser;
    domdoc xmldom.DOMDocument;
    nodelist XMLDOM.DOMNODELIST;
    node XMLDOM.DOMNODE;
    n_child XMLDOM.DOMNODE;
    elements XMLDOM.DOMELEMENT;
    name_node_map XMLDOM.DOMNAMEDNODEMAP;
    parent_seg varchar2(4000);
    tag_name_bkp varchar2(4000); -- LOOK OUT BRAD IS CODING AGAIN
    chile_seg VARCHAR2(4000);
    p_seg VARCHAR2(4000);
    p_seg1 VARCHAR2(4000);
    p_seg2 VARCHAR2(30);
    p_int_name VARCHAR2(50);
    col_value VARCHAR2(100):=NULL;
    len1 NUMBER;
    cnt NUMBER;
    seg_id_bkp NUMBER; -- LOOK OUT BRAD IS CODING AGAIN
    sequence_bkp NUMBER; -- LOOK OUT BRAD IS CODING AGAIN
    prev_sequence NUMBER; -- LOOK OUT BRAD IS CODING AGAIN
    prev_seq_set VARCHAR2(3); --brad coding
    parent_id number; ---brad coding
    valid_seg NUMBER; -- LOOK OUT BRAD IS CODING AGAIN
    data_status VARCHAR2(10);
    v_main_seg VARCHAR2(50);
    v_seq_no NUMBER;
    V_CLOBLOCATOR CLOB;
    V_FILELOCATOR BFILE;
    v_amount_to_load NUMBER;
    dest_offset NUMBER := 1;
    src_offset NUMBER := 1;
    lang_context NUMBER := DBMS_LOB.DEFAULT_LANG_CTX;
    warning NUMBER;
    v_event_name USR_OUB_FILE_PROCESS_DETAILS.EVENT_NAME%TYPE;
    v_file_name USR_OUB_FILE_PROCESS_DETAILS.FILE_NAME%TYPE;
    DIRECTORY_PATH_INVALID EXCEPTION;
    PRAGMA EXCEPTION_INIT(DIRECTORY_PATH_INVALID,-22285);
    NO_PRIVILEGES EXCEPTION;
    PRAGMA EXCEPTION_INIT(NO_PRIVILEGES,-22286);
    INVALID_DIRECTORY EXCEPTION;
    PRAGMA EXCEPTION_INIT(INVALID_DIRECTORY,-22287);
    FILE_NOT_FOUND EXCEPTION;
    PRAGMA EXCEPTION_INIT(FILE_NOT_FOUND,-22289);
    P_DIRECTORY VARCHAR2(50) :='WMS_XML_DIR_OUB';
    v_whid poldat_view.wh_id%type;
    BEGIN
    --NAME :  PROC_WMS_XML_READ.PLS
    --DESCRIPTION :
    -- Procedure PROC_WMS_XML_READ search XML files from remote location.
    -- Open,Parse and Read XML files. Store all XML values into tables.
    -- Developed by Dharmesh Patidar(jw782)
    -- History: New condition is added i.e. p_seg:=parent_seg to maintain PARENT and CHILD relationship
    -- by Vishwanath Dubey(jl246) on 17-June-2011
    -- BRAD_XML_DEBUG table removed for CLEANING Activity by DHARMESH PATIDAR(JW782) ON 29-JUNE-2011.
    /*BLOCK FOR CAPTURING EVENT NAME BASED ON EVENT ID START*/
    BEGIN
    SELECT event_name,file_name,WAREHOUSE_ID
    INTO v_event_name, v_file_name,v_whid
    FROM usr_oub_file_process_details
    WHERE event_id=p_event_key
    AND process_flag='U';
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    x_status_msg:=SQLCODE||':'||' Error while selecting event name and event id in Procedure PROC_WMS_XML_READ : Record is not available in USR_OUB_FILE_PROCESS_DETAILS table for event id '|| P_EVENT_KEY;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN TOO_MANY_ROWS THEN
    x_status_msg:=SQLCODE||':'||' Error while selecting event name and event id in Procedure PROC_WMS_XML_READ : More than one Records found in USR_OUB_FILE_PROCESS_DETAILS table for event id '|| P_EVENT_KEY;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN VALUE_ERROR THEN
    x_status_msg:=SQLCODE||':'||' Error while selecting event name and event id in Procedure PROC_WMS_XML_READ : Varibale length is small or data type mismatch while selecting event id and event name in USR_OUB_FILE_PROCESS_DETAILS table for event id '|| P_EVENT_KEY;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN OTHERS THEN
    x_status_msg:=SQLCODE||':'||'Error in Procedure PROC_WMS_XML_READ while selecting event name and event id ';
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    END;
    /*BLOCK FOR CAPTURING EVENT NAME BASED ON EVENT ID END*/
    /*LOGIC TO READ XML FROM REMOTE LOCATION START*/
    DBMS_LOB.CREATETEMPORARY(V_CLOBLOCATOR, TRUE);
    V_FILELOCATOR := BFILENAME(P_DIRECTORY,V_FILE_NAME);
    DBMS_LOB.OPEN(V_FILELOCATOR,DBMS_LOB.FILE_READONLY);
    V_AMOUNT_TO_LOAD := DBMS_LOB.GETLENGTH(V_FILELOCATOR);
    DBMS_LOB.LOADCLOBFROMFILE(V_CLOBLOCATOR,
    V_FILELOCATOR ,
    V_AMOUNT_TO_LOAD,
    DEST_OFFSET,
    SRC_OFFSET,
    0,
    LANG_CONTEXT,
    WARNING);
    dbms_lob.close(V_FILELOCATOR);
    /*LOGIC TO READ XML FROM REMOTE LOCATION END*/
    /*Temporary Code to help with debug Clear the table before populating it with new data*/
    --delete table BRAD_XML_DEBUG;
    cnt:=1;
    seg_id_bkp:=0;
    data_status:='N';
    v_seq_no:=0;
    prev_seq_set:='NO';
    /*create new parser.*/
    l_parser := dbms_xmlparser.newParser;
    dbms_xmlparser.parseClob(l_parser, replace(V_CLOBLOCATOR,'&','1x2x3x4x5'));
    /*Parse the document and create a new DOM document.*/
    domdoc :=dbms_xmlparser.getDocument(l_parser);
    /* get all elements in the DOM*/
    nodelist := XMLDOM.getElementsByTagName(DOMDoc, '*');
    len1 := XMLDOM.getLength(nodelist);
    /* loop through elements of the DOM */
    FOR j in 1..len1-1 LOOP --MAIN LOOP START
    BEGIN
    /*below sql will fetch Node from table to travel xml data*/
    BEGIN
    SELECT int_name,tag_name
    INTO p_int_name, p_seg1
    FROM usr_wms_tag_det
    WHERE int_name=v_event_name
    AND seq_no =cnt;
    EXCEPTION
    --PLEASE DO NOT HANDLE ANY EXCEPTION APART MENTIONED BELOW
    WHEN OTHERS THEN
    NULL;
    END;
    IF cnt=1 THEN
    v_main_seg:=p_seg1;
    END IF;
    EXCEPTION
    --PLEASE DO NOT HANDLE ANY EXCEPTION APART MENTIONED BELOW
    WHEN no_data_found THEN
    null;
    WHEN OTHERS THEN
    x_status_msg:=SQLCODE||':'||'Error in Procedure PROC_WMS_XML_READ while selecting interface name and tag name'||sqlerrm;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    END;
    /*LOGICS TO READ XML START*/
    node:=XMLDOM.item(nodelist, j);
    elements:=XMLDOM.makeElement(node);
    parent_seg:=(xmldom.getTagName(elements));
    tag_name_bkp:=(xmldom.getTagName(elements));
    name_node_map:=xmldom.getAttributes(node);
    n_child:=xmldom.getFirstChild(node);
    col_value:=xmldom.getNodeValue(n_child);
    /*get the sequence number from the interface hierarchy table */
    SELECT count(1)
    INTO valid_seg
    FROM usr_wms_tag_det
    WHERE int_name=v_event_name
    AND tag_name = tag_name_bkp;
    if valid_seg>0 then
    begin
    SELECT seq_no
    INTO sequence_bkp
    FROM usr_wms_tag_det
    WHERE int_name=v_event_name
    AND tag_name = tag_name_bkp;
    seg_id_bkp:=seg_id_bkp+1;
    p_seg:=parent_seg;--Modified by Vishwanath Dubey dated 16-jun-2011
    end;
    end if;
    if prev_seq_set = 'NO' then
    begin
    prev_sequence := sequence_bkp;
    prev_seq_set := 'YES';
    end;
    end if;
    if sequence_bkp < prev_sequence then --you just moved up level(s) in the message structure
    begin
    select max(seg_id)
    into parent_id
    from usr_wms_global_xml_det
    where seg_sequence = sequence_bkp-1;
    prev_sequence := sequence_bkp;
    end;
    end if;
    if sequence_bkp > prev_sequence then --you just moved down a level in the message structure
    parent_id := seg_id_bkp-1;
    prev_sequence := sequence_bkp;
    end if;
    /*end getting the hierarchy table sequence */
    /*LOGICS TO READ XML END */
    IF (parent_seg =p_seg1) or (parent_seg=p_seg2) THEN
    if parent_seg=v_main_seg then
    v_seq_no:=v_seq_no+1;
    end if;
    BEGIN
    /* INSERTING DATA LOGICS TO READ XML END */
    INSERT INTO usr_wms_global_xml_det values(p_int_name,tag_name_bkp,parent_seg,seg_id_bkp,sequence_bkp,parent_id,'','','',J,v_seq_no,data_status,cnt);
    EXCEPTION
    WHEN OTHERS THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ while inserting records in USR_WMS_GLOBAL_XML_DET table for interface name and parent segment '||P_INT_NAME||','||PARENT_SEG;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    END ;
    p_seg:=parent_seg;
    p_seg2:=P_SEG1;
    cnt:=cnt+1;
    ELSE
    chile_seg:=parent_seg;
    BEGIN
    /* INSERTING DATA LOGICS TO READ XML END */
    INSERT INTO usr_wms_global_xml_det values(p_int_name,tag_name_bkp,p_seg,seg_id_bkp,sequence_bkp,parent_id,'',chile_seg,replace(TRIM(Col_Value),'1x2x3x4x5','&'),J,v_seq_no,data_status,cnt);
    EXCEPTION
    WHEN OTHERS THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ while inserting records in USR_WMS_GLOBAL_XML_DET table for interface name and parent segment '||P_INT_NAME||','||PARENT_SEG;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    END;
    END IF;
    END LOOP; --MAIN LOOP END
    dbms_xmldom.freeDocument(DOMDoc);
    x_status:=0;
    EXCEPTION
    WHEN DIRECTORY_PATH_INVALID THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ DIRECTORY PATH IS INVALID';
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN FILE_NOT_FOUND THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ INVALID XML FILE NAME OR FILE DOES NOT EXISTS';
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN NO_PRIVILEGES THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ Insufficient privileges on file or directory NAME- '||p_directory||' to perform FILEOPEN operation.';
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    RETURN;
    WHEN OTHERS THEN
    x_status_msg:=SQLCODE||' : Error in Procedure PROC_WMS_XML_READ '|| SQLERRM;
    x_status:=SQLCODE;
    proc_wms_error_trace(v_whid, --warehouse id
    null , --event id
    v_event_name , --event name
    x_status, --error code
    x_status_msg ); --error message
    dbms_xmlparser.freeParser(l_parser);
    dbms_xmldom.freeDocument(DOMDoc);
    RETURN;
    END PROC_WMS_XML_READ;
    Edited by: user13427480 on Feb 8, 2013 7:08 PM

    when you post sql statement use also similar threads :
    ORA-22290: operation would exceed the maximum number of opened files or LOB
    https://kr.forums.oracle.com/forums/thread.jspa?messageID=10842417                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error maximum number of files already open error.No Other files can be opened or printed until some are closed

    Hi everyone,
    While opening a file in Adobe reader 10 in Windows 7,I am getting the error as
    "The maximum number of files are already open.No Other files can be opened or printed until some are closed."
    Can Anyone help or suggest a setting for this ?
    Thanks in Advance
    Omkar

    Hello omkar841987,
    Could you please let me know how many files have you opened simultaneously.
    This count will include files that are being displayed as well as opened (without being shown in the viewer).
    Using Reader, you cannot make any setting for the same, but close some of the files before crossing that limit.
    It also depends on your OS and memory size as you would need enough memory to open many files at a time.
    Regards,
    Anubha

  • I'm using acrobat pro in my project after debuging the project and after opening a certain number of PDF files I receive the message: the maximum number of files opened has been reached, you have to close some files to continu.even doing that, I steel rec

    I'm using acrobat pro in my project after debuging the project and after opening a certain number of PDF files I receive the message: the maximum number of files opened has been reached, you have to close some files to continu.even doing that, I steel receive the same message.Some one can tel what to do please? Thanks

    Hi Memalyn
    Essentially, the bare issue is that you have a 500GB hard drive with only 10GB free. That is not sufficient to run the system properly. The two options you have are to move/remove files to another location, or to install a larger hard drive (eg 2TB). Drive space has nothing to do with SMC firmware, and usually large media files are to blame.
    My first recommendation is this: download and run the free OmniDiskSweeper. This will identify the exact size of all your folders - you can drill down into the subfolders and figure out where your largest culprits are. For example, you might find that your Pictures folder contains both an iPhoto Library and copies that you've brought in from a camera but are outside the iPhoto Library structure. Or perhaps you have a lot of purchased video content in iTunes.
    If you find files that you KNOW you do not need, you can delete them. Don't delete them just because you have a backup, since if the backup fails, you will lose all your copies.
    Don't worry about "cleaners" for now - they don't save much space and can actually cause problems. Deal with the large file situation first and see how you get on.
    Let us know what you find out, and if you manage to get your space back.
    Matt

  • Java.io.IOException: Too many open files while deploying in soa 11g

    hi all,
    I am getting a strange error while deploying any composite .. it's a hello world kinda composite but while i am trying to deploy it i am getting "java.io.IOException: Too many open files" while deployment.. i have tried to deploy it in 2-3 ways but all of them resulted in the same error..bouncing the soa server might be an option but can someone give an insight as why it is happening and can it be resolved without restarting the server..
    Thanks

    yes..so this problem is with unix only ..coz i previously worked in Windows ..never got this problem..

Maybe you are looking for

  • How can we create Versions for Products in SAP CRM

    Hi All, We want use Product Versions in our CRM IC Webclient. We want to be able to select a product and then have a list of versions to pick from. Can anyone tell me if they have configured Versions for Products in their SAP CRM system. If yes, then

  • Load balancing weirdness using NAT and same-metric route

    Hi. I'm trying to set up a double-WAN load-balancing scenario: I decided to attempt the "multiple same-metric routes with NAT" approach so I went for the example used in the IOS NAT Load-Balancing for Two ISP Connections Configuration Guide [1]. I de

  • Report to see in transit stock .

    Hi Gurus Is there in any standard report ,by which I can make out how much stock is in transit on the material group level-: 1. b/w the plants 2. b/w the vendors for which inbound delivery has been created ,but the GR has not been done. Thanks in adv

  • How to resolve EXP-00056: ORACLE error 19206 encountered during an export.

    Hi, I am facing the problem while exporting the user in ORACLE 9i. It is showing the following error message's EXP-00056: ORACLE error 19206 encountered ORA-19206: Invalid value for query or REF CURSOR parameter ORA-06512: at "SYS.DBMS_XMLGEN", line

  • Cisco Unity Problems Activating Licenses

    We are running a ISM-SRE-300-K9 module on a Cisco 2921 router, which we inherited and did not originally program at this site.  We have purchased L-FL-CUE-MBX-5= licenses but we are having tons of trouble getting them activated.  I am not too familia