Dbca errors out with java.lang.OutOfMemoryError: Java heap space

hi gurus
I am trying to use DBCA to create a 10.2.0.4 database on a HP platform.DBCA hangs at the step 6 and following message can be seen in the
trace.log:
java.lang.OutOfMemoryError: Java heap space
I googled and modified the DBCA scripts content from
# Run DBCA
$JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m
-classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
to
# Run DBCA
$JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx256m
-classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
and rerun the DBCA and the problem still there.
How to solve this problem?
Thanks !
Edited by: KevinMao on Mar 31, 2010 2:39 AM
Edited by: KevinMao on Mar 31, 2010 2:42 AM

hi gurus
The problem has sovled.I supplyed the wrong file for the rawfile.conf,everything was fine after I provided the corrent one.
Thanks for your time.

Similar Messages

  • EJB Deployment error in 9.2 (java.lang.OutOfMemoryError: Java heap space at

    Hello all,
    I am trying to deploy EAR(has more than 25 ejb's) in weblogic 9.2 but currently one EJB ejb-pwc.jar is failing to compile(gives out of memory error). But if i try building ear only with this EJB and its dependencies class it work. Here is the errror. Please help me to figure out this issue. Thanks in advance,
    Exception preparing module: EJBModule(ejb-pwc.jar) Unable to deploy EJB: ejb-pwc.jar from ejb-pwc.jar: There are 1 nested errors: java.io.IOException: Compiler failed executable.exec: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:435) at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:295) at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:303) at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:308) at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:496) at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:463) at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:430) at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:752) at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:655) at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1199) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:354) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:621) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:208) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:189) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:87) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:718) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1185) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:247) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Compiler failed executable.exec: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space

    I'd suggest pre-compiling the application before deployment.
    java weblogic.appc my.ear
    (You may need to increase the heap size here as well.)
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Deployment error in 9.2 (java.lang.OutOfMemoryError: Java heap space at we)

    Hello all,
    I am trying to deploy EAR(has more than 25 ejb's) in weblogic 9.2 but currently one EJB ejb-pwc.jar is failing to compile(gives out of memory error). But if i try building ear only with this EJB and its dependencies class it work. Here is the errror. Please help me to figure out this issue. Thanks in advance,
    Exception preparing module: EJBModule(ejb-pwc.jar) Unable to deploy EJB: ejb-pwc.jar from ejb-pwc.jar: There are 1 nested errors: java.io.IOException: Compiler failed executable.exec: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:435) at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:295) at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:303) at weblogic.ejb.container.ejbc.EJBCompiler.doCompile(EJBCompiler.java:308) at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:496) at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:463) at weblogic.ejb.container.deployer.EJBDeployer.runEJBC(EJBDeployer.java:430) at weblogic.ejb.container.deployer.EJBDeployer.compileJar(EJBDeployer.java:752) at weblogic.ejb.container.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:655) at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:1199) at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:354) at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:621) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:208) at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:189) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:87) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:718) at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1185) at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:247) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45) at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Compiler failed executable.exec: The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: Java heap space

    I'd suggest pre-compiling the application before deployment.
    java weblogic.appc my.ear
    (You may need to increase the heap size here as well.)
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Trouble with  "java.lang.OutOfMemoryError: Java heap space"

    Hello,
    I use a Java-based modeling tool that very few out there are probably familiar with. This tool allows me to run models (program) from within the development environment, to create Applets or create jar files that can be executed in a stand-alone fashion.
    I am using a database on my local harddrive to read in some data using JDBC, so am not using the Applet option with certificates. The development environment is expensive, so can't be distributed. That leaves the stand-alone option.
    The model (program) I've written runs perfectly fine in the development environment and, previously, has worked fine as a stand-alone program. However, the stand-alone option isn't working anymore, because I keep getting this error.
    I am not much of a Java programmer; I'm learning as I go along. If anyone can help me solve this, I'll be most appreciative
    From my cmd prompt:
    C:\Documents and Settings\072\Desktop\TA\for\for Applet Files>cd "C:\D
    ocuments and Settings\072\Desktop\TA\for\for Applet Files"
    C:\Documents and Settings\072\Desktop\TA\for\for Applet Files>java -cl
    asspath enterprise_library.jar;business_graphics_library.jar;for.jar;xjanylog
    ic5engine.jar for/Main$Simulation
    Started...
    AnyLogic simulation engine has started [$Id: Engine.java,v 1.134 2004/12/03 08:4
    9:39 basil Exp $]
    java.lang.OutOfMemoryError: Java heap space
    setting error: Exception during root.courseQueue-1556 startup: java.lang.OutOfMe
    moryError: Java heap space
    thread = Thread[Model Creation Thread,5,main]
    engine = com.xj.anylogic.Engine@1099257
    Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap spac
    e
    java.lang.OutOfMemoryError: Java heap space
    setting error: Exception during startup: java.lang.OutOfMemoryError: Java heap s
    pace
    thread = Thread[Model Creation Thread,5,main]
    engine = com.xj.anylogic.Engine@1099257
    java.lang.OutOfMemoryError: Java heap space
    setting error: Exception in statechart 'root.courseExit-0.inputProcessor' entry
    actions: java.lang.OutOfMemoryError: Java heap space
    thread = Thread[AnyLogic main thread,5,main]
    engine = com.xj.anylogic.Engine@1099257
    java.lang.OutOfMemoryError: Java heap space
    setting error: Exception in statechart 'root.courseDelay-0.inputProcessor' entry
    actions: java.lang.OutOfMemoryError: Java heap space
    thread = Thread[AnyLogic main thread,5,main]
    engine = com.xj.anylogic.Engine@1099257
    java.lang.OutOfMemoryError: Java heap space
    setting error: Exception in statechart 'root.courseDelay-1.inputProcessor' entry
    actions: java.lang.OutOfMemoryError: Java heap space
    thread = Thread[AnyLogic main thread,5,main]Exception in thread "AWT-EventQueu
    e-0"
    java.lang.OutOfMemoryError: Java heap space
    engine = com.xj.anylogic.Engine@1099257

    Hi I am ancountering the same problem with the 'heap space'.
    Is there any way I can find out what it is set to for my system? I dont believe its 32Mb and dont want to increase it randomly to too large a size if theres no need for it.
    Thanks,
    Bobby

  • Getting java.lang.outofmemoryerror: Java heap space error

    I am using coldfusion 8. I frequently get the error 'java.lang.outofmemoryerror: Java heap space'. Can anyone help me?
    Error Details :
    500
    Root cause:
    java.lang.outofmemoryerror: Java heap space
    javax.servlet.servletException: Root Cause:
    java.lang.outofmemoryerror: Java heap space
    Thanks in advance,
    Regards,
    Satheesh.

    Well... what does the error message tell you is wrong?  You're running out of memory.  I presume you understand how computer memory works, if not specifically how Java memory allocation works.  So... you have x amount of memory, and you're trying to use >x amount of memory.  You can't do that.  There are two approaches to dealing with a problem like this:
    a) have more memory;
    b) use less memory.
    What are your JVM memory settings?  They're in jvm.config dir, which'll be - by default - in your Jrun4/bin dir for a multi-server install, or somewhere like ColdFusion/runtime/bin or something like that on a stand-alone install.
    Next... what are you loading into memory?  This is trickier to answer.  But every variable you create takes up memory.  People often load up the application or session scopes with stuff that's "convenient" to store in shared-scope memory, but really chew through it.  Putting CFC instances in the session scope is a really good way to waste memory, as they seem to have quite a large footprint.
    It's really impossible to say what's eating the memory based on what info you've given us (basically: none), but you can use things like FusionReactor to examine what's going into memory.  Or CF* Enterprise has some of its own memory profiling stuff... I've never used it but it might be of some use.
    Have you googled "coldfusion java.lang.outofmemory"?
    Adam

  • How to solve this ERROR  --java.lang.OutOfMemoryError: Java heap space

    I am Trying to read one TEXT file line by line. file size is approx. 7 MB or it contain approx. 35000 line of text.
    i am processing that file and export data into another file.
    mean while after some line i get error like below,
    java.lang.OutOfMemoryError: Java heap space
    After this error process stop.
    my application is in Java Swing and i m using java 1.5 version of SDK and JRE.
    is it a JDK version Problem?
    please can any one give me appropriate solutions for this.
    give me answer please.............

    Are you able to post the code you use to read the file? Initially, I'd guess that you're stuck in a loop. Make sure you're getting out of all your loops. You can do this with breakpoints in your IDE's debugger, or by putting a println right after the loop.
    It may also be that your IDE isn't allotted enough of your system's memory, though I doubt that is the case. You can easily google how to increase the memory allotted to the IDE.
    For some reason, garbage collection isn't happening as you're expecting. Make sure you're not holding on to huge stuff any longer than you need to.
    Edited by: Caryy on Aug 14, 2010 5:57 PM

  • J2EE engine restart with java.lang.OutOfMemoryError  Java heap space

    Hi
    I hope someone can help me, I have an error on my J2EE engine.
    My portal restarts only when I click on User - Administration - Identity Management.
    Here is the log error.
    Exception id: [000000000000005B0000001C0000098800045ACD637E87AB]#
    #1.5^H#0000000000000059000000690000098800045ACD6EF06673#1225738282886#com.sap.engine.frame.Environment##com.sap.engine.frame.
    Environment#J2EE_GUEST#0##host_SID_4130050#J2EE_ADMIN#40cf7230a9d811dda9f9000000000000#SAPEngine_Application_Thread[impl:3
    ]_13##0#0#Error#1#/System/Server/Critical#Plain###FATAL: Caught OutOfMemoryError! Node will exit with exit code 666#
    #1.5^H#00000000000000590000006A0000098800045ACD6EF06833#1225738282886#com.sap.engine.frame.Environment##com.sap.engine.frame.
    Environment#J2EE_GUEST#0##host_SID_4130050#J2EE_ADMIN#40cf7230a9d811dda9f9000000000000#SAPEngine_Application_Thread[impl:3
    ]_13##0#0#Fatal#1#/System#Java###FATAL: Caught OutOfMemoryError! Node will exit with exit code 666
    [EXCEPTION]
    #1#java.lang.OutOfMemoryError: Java heap space
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
            at com.sap.engine.services.deploy.server.ApplicationLoader.defineClassWithInterception(ApplicationLoader.java:168)
            at com.sap.engine.services.deploy.server.ApplicationLoader.loadLocalClass(ApplicationLoader.java:140)
            at com.sap.engine.frame.core.load.ResourceLoader.loadClass(ResourceLoader.java:127)
            at com.sap.engine.frame.core.load.ReferencedLoader.loadClass(ReferencedLoader.java:365)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
            at com.sap.security.core.wd.assignusermapping.wdp.InternalAssignUserMappingComp.<init>(InternalAssignUserMappingComp.
    java:173)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
            at com.sap.tc.webdynpro.progmodel.generation.ControllerHelper.createDelegate(ControllerHelper.java:74)
            at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.<init>(DelegatingComponent.java:51)
            at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:382)
            at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:940)
            at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:177)
            at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:149)
            at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:116)
            at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createInstanceIfDemanded(ComponentUsage.java:728)
            at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getImplementingInterfaceViewInfo(ComponentUsage.java:403)
            at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.getViewManagerFor(ClientComponent.java:305)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.createUninitializedView(ViewManager.java:628)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:694)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.bind(ViewManager.java:555)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:724)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:579)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)
            at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:43)
            at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
            at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:709)
    Thanks for your help

    pretty obvious to me "java.lang.OutOfMemoryError: Java heap space"
    Read,
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/jsts/(Kernel)OOM
    or
    java.lang.OutOfMemoryError: Java heap space
    those links should give you a fairly good idea on how to solve the issue.
    Regards
    Juan

  • BPEL 10.1.3.x deployment error: java.lang.OutOfMemoryError: Java heap spac

    I am using IBPELDomainHandle.deploySuitcase() API to deploy a bpel process. Each time, I got ServerException with the following error message: java.lang.OutOfMemoryError: Java heap spac
    What configurations should I perform to the BPEL server in order to get rid of the outofmemeory error?
    BTW: I was able to deploy the same bpel process by uploading the jar file to $OH/bpel/domains/default/deploy directory.
    Thanks,
    Qian

    Hi Qian,
    Check the -Xmx JVM setting in the OC4J_BPEL configuration. Raise the amount of MB to allow JVM to use more memory.
    Regards,
    René

  • Tomcat Error: "java.lang.OutOfMemoryError: Java heap space"

    Hi,
    We are on BOXI 3.1 SP3. We are using Tomcat as a application server.
    After certain time interval tomcat server hangs and users are unable to login to Infoview. When we checked in catalina.out file, we got error "java.lang.OutOfMemoryError: Java heap space". As a workaround, we restart tomcat server. That time we are unable to stop tomcat server using tomcatshutdown.sh script and we need to kill it forcefully. Once we restart the tomcat server, occupied memory free up and users are able to login to Infoview.
    Below are my observations on this issue:
    1. We have observed that this is not happening only during peak time/heavy load on system, but is happening during weekend as well which shows that it is not related to user load.
    2. Issue occurs intermittently.
    3. Tomcat is unable to release unused memory. It just adds the memory and reaches it's maximum allocated memory.
    I raised SAP case for this and they suggested to add parallet garbage collector parameter. but that did not help.
    Below is heap size setting for Java under /Install Dir/setup/env.sh:
    JAVA_OPTS="$JAVA_OPTS -Xmx1024m -XX:MaxPermSize=256m -XX:+UseParallelGC"
    Below are my environment details:
    Product : BOXI R3.1 SP3
    Linux: Redhat 5.3
    RAM: 10 GB
    Web Application Server : Apache - Tomcat
    I am thinking that somehow tomcat is unable to free up it's occupied memory which is not used by any object further. It just keeps adding memory and reaches its maximum threshold limit which is 1024 MB.
    We have installed SP3 on server last Sunday. Issue was there before SP3 installation as well and it was occuring very rarely. But after SP3 installation, it is occuring on daily basis. Is there any known bug in SP3.
    Any help would be greatlt appericiated.
    Thanks,
    Swapnil Rodge.

    Hi Sebastian,
    Did you use the -Xmx2048m setting for Tomcat? If yes, how did it work for you? When I do the same tomcat refuses to start.
    Thanks,
    Vinayak

  • Report error trace ![CDATA[java.lang.OutOfMemoryError: Java heap space

    Hi,
    I am getting the below error while trying to run any report in workspace
    <?xml version="1.0" encoding="UTF-8"?>
    <BpmResponse action="" type="error">
    <code>0</code>
    <desc>Java heap space</desc>
    <trace><![CDATA[java.lang.OutOfMemoryError: Java heap space
    ]]></trace>
    </BpmResponse>
    Looking for a qucik response!!!
    Thanks
    Ramya

    You are running out of memory. You can change the allocated java heap space for reporting if you haven't tried that already.
    Here is a thread regarding how to change the java heap space. Oracle recommends setting your -xmx to 1024.
    JVM Heap Size setting
    Hope this helps,
    DQ

  • Servlet.service() Error. java.lang.OutOfMemoryError: Java heap space

    Hi All,
    I would be very grateful if you would draw some light for this error I got from running a online database connected image viewer (applet).
    The application is quite simple, applet connect to servlet, servlet send 3 SQL statements to MySQL and retrieve image info (Strings) and 50 Files (- JPEG image) from a online database, and then pass all of data to applet from servlet. The size of total of images is around 3.5 MB, and I've increased JVM memory to 128 MB by using code "-xmx128m".
    ? Do I need send images from servlet to applet individually rather than push them in one go
    ? Is there memory leak in my codes
    Please see the codes below:
    private ExamViewerApplet.CaseInfo[] getCaseInfoArray(int examID, Connection conn) throws SQLException{...}   
    private ExamViewerApplet.ExamInfo getExamInfo(int examID, Connection conn) throws SQLException{...}
    private String processObject(Object object, ObjectOutputStream oos)    {
        Integer examID = (Integer) object;
        Connection conn  = null;    
        ExamViewerApplet.ExamInfo examInfo = null;
        ExamViewerApplet.CaseInfo caseInfoArray[] = null;
        int[][] imageIndexArray = new int[30][5];
        ImageIcon[] imageArray = null;
        try {
            conn = new DBConnection().getConnection();
            examInfo = this.getExamInfo(examID, conn);
            caseInfoArray = this.getCaseInfoArray(examID, conn);
            PreparedStatement ps = conn.prepareStatement(RETRIEVE_IMAGES);
            ps.setInt(1,examID);
            ResultSet rs = ps.executeQuery();
            rs.last();
            int size = rs.getRow();
            rs.beforeFirst();
            imageArray = new ImageIcon[size];
            int imageIndex = 0;
            while(rs.next()){
                int caseID = rs.getInt("CaseID");
                int imageID = rs.getInt("ImageID");
                InputStream stream = null;
                ByteArrayOutputStream output = null;
                try {
                    stream = rs.getBinaryStream("Image");
                    output = new ByteArrayOutputStream();
                    byte buf[] = new byte[1024];
                    int len;
                    while((len = stream.read(buf)) > 0){
                        output.write(buf, 0, len);
                    ImageIcon icon = new ImageIcon(output.toByteArray());
                    imageArray[imageIndex] = icon;
                    imageIndexArray[caseID][0] += 1;
                    imageIndexArray[caseID][imageID] = imageIndex;
                    ++imageIndex;
                } catch (IOException ex) {
                    log("Error, when reading byte array from image input stream from database");
                } finally{
                    try {
                        stream.close();
                        output.close();
                    } catch (IOException ex) {
                        log("Error, when tring to close image input stream from Database");
        } catch (ClassNotFoundException classNotFoundException) {//somecode...
        } catch (SQLException sQLException) {//somecode...
        }finally{
            try {
                conn.close();
            } catch (SQLException ex) {//somecode...
        String result;
        if(examInfo != null && caseInfoArray != null && imageIndexArray != null && imageArray != null ){
            result = "The transaction was successed!";
            try {
                oos.writeObject(examInfo);
                oos.writeObject(caseInfoArray);
                oos.writeObject(imageIndexArray);
                oos.writeObject(imageArray);
            } catch (IOException ex) {
                result = "The transaction was failed!";
        }else{
            result = "The transaction was failed!";
        return result;
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {      
        ObjectInputStream inputStreamFromApplet = null;
        Object object = null;
        try {
            inputStreamFromApplet = new ObjectInputStream(request.getInputStream());
            object = inputStreamFromApplet.readObject();
            ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
            String returnValue = this.processObject(object, oos);           
            oos.writeObject(returnValue);
            oos.flush();
            oos.close();       
        } catch (ClassNotFoundException classNotFoundException) {
            classNotFoundException.printStackTrace();
        } finally{            
            inputStreamFromApplet.close();
    } And the error messages I got here is:
    SEVERE: Servlet.service() for servlet ExamViewerServlet threw exception
    java.lang.OutOfMemoryError: Java heap space
            at javax.swing.ImageIcon.writeObject(ImageIcon.java:411)
            at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:592)
            at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
            at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
            at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
            at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
            at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
            at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
            at ExamViewerServlet.processObject(ExamViewerServlet.java:147)
            at ExamViewerServlet.processRequest(ExamViewerServlet.java:176)
            at ExamViewerServlet.doPost(ExamViewerServlet.java:217)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
            at java.lang.Thread.run(Thread.java:595)Please help.
    Linqing
    Edited by: discovery_java on Feb 1, 2010 2:12 PM

    wire the code into a simple unit test, then run a profiler on it to see where the memory is going. You need the help of these kind of tools to track down memory issues, before that it is only guesswork what might be soaking it all up.

  • How to solve :  java.lang.OutOfMemoryError: Java heap space

    Dear all,
    Am using Jdeveloper 11.1.1.3 with weblogic10...
    I keep getting out of memory error while working on the application , here is the exact error message that i copied from the server log :
    ####<28/11/2010 GMT 09:17:58 ص> <Critical> <Health> <javaserver> <AdminServer> <weblogic.GCMonitor> <<anonymous>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-0000000000000012> <1290935878582> <BEA-310003> <Free memory in the server is 4,541,416 bytes. There is danger of OutOfMemoryError>
    ####<28/11/2010 GMT 09:24:51 ص> <Error> <Kernel> <javaserver> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-0000000000000029> <1290936291218> <BEA-000802> <ExecuteRequest failed
    java.lang.OutOfMemoryError: Java heap space.
    java.lang.OutOfMemoryError: Java heap space
    >
    ####<28/11/2010 GMT 09:25:04 ص> <Notice> <Diagnostics> <javaserver> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002c> <1290936304406> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'AdminServer' has triggered at 28/11/2010 GMT 09:24:56 ص. Notification details:
    WatchRuleType: Log
    WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
    WatchData: DATE = 28/11/2010 GMT 09:24:51 ص SERVER = AdminServer MESSAGE = ExecuteRequest failed
    java.lang.OutOfMemoryError: Java heap space.
    java.lang.OutOfMemoryError: Java heap space
    SUBSYSTEM = Kernel USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-000802 MACHINE = javaserver TXID = CONTEXTID = 3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-0000000000000029 TIMESTAMP = 1290936291218
    WatchAlarmType: AutomaticReset
    WatchAlarmResetPeriod: 30000
    >
    ####<28/11/2010 GMT 09:25:36 ص> <Warning> <oracle.dfw.framework> <javaserver> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002c> <1290936336549> <DFW-40121> <failure creating incident from WLDF notification
    java.lang.OutOfMemoryError: Java heap space
    >
    ####<28/11/2010 GMT 09:26:32 ص> <Notice> <WebLogicServer> <javaserver> <AdminServer> <Thread-1> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936392224> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>
    ####<28/11/2010 GMT 09:26:35 ص> <Alert> <WebLogicServer> <javaserver> <AdminServer> <Thread-1> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936395303> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>
    ####<28/11/2010 GMT 09:26:35 ص> <Notice> <WebLogicServer> <javaserver> <AdminServer> <Thread-1> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936395303> <BEA-000365> <Server state changed to FORCE_SUSPENDING>
    ####<28/11/2010 GMT 09:26:53 ص> <Notice> <WebLogicServer> <javaserver> <AdminServer> <Thread-1> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936413632> <BEA-000365> <Server state changed to ADMIN>
    ####<28/11/2010 GMT 09:26:56 ص> <Notice> <WebLogicServer> <javaserver> <AdminServer> <Thread-1> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936416757> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
    ####<28/11/2010 GMT 09:26:59 ص> <Notice> <Server> <javaserver> <AdminServer> <DynamicListenThread[Default[1]]> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-0000000000000035> <1290936419289> <BEA-002607> <Channel "Default[1]" listening on 127.0.0.1:7001 was shutdown.>
    ####<28/11/2010 GMT 09:27:07 ص> <Notice> <WebLogicServer> <javaserver> <AdminServer> <Thread-41> <<WLS Kernel>> <> <3e9ac2aaa3059905:3bfb8868:12c91bef422:-8000-000000000000002f> <1290936427508> <BEA-000378> <Server failed to shutdown within the configured timeout of 30 seconds. The server process will exit now.>
    i searched the net and it seems that i should increase the java heap size , how can i do that... I have a server with 4G Ram ..
    Regards,
    Lama
    Edited by: Delta on Nov 28, 2010 1:36 AM

    My frien google tells me that you use
    >
    Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    This can have two reasons:
    * Your Java application has a memory leak. There are tools like YourKit Java Profiler that help you to identify such leaks.
    * Your Java application really needs a lot of memory (more than 128 MB by default!). In this case the Java heap size can be increased using the following runtime parameters:
    java -Xms<initial heap size> -Xmx<maximum heap size>
    >
    Timo

  • How do I stop "Exception in thread "main" java.lang.OutOfMemoryError.java heap space

    I'm trying to rebuild my iPhone app, with hires graphics etc, using CS6 Flash Pro. However, I get this now,
    Exception in thread "main" java.lang.OutOfMemoryError.java heap space .....  followed by a lot of location information related to the error.
    Now, how do I increase the java memory allowances if that's the problem. I've already upp the jvm.ini file from 128 to 512. No difference.
    I'm based on
    Win8, 8GB RAM, x64
    I'm obviously asking it to load a lot of resources - but hey, Flahs should be able to handle it right?
    thanks if anyone can help

    Hmmm. Maybe I was doing something wrong with images, and icons. I'm not sure, as it's not at all clear really.
    This is the Icons screen from CS6, can't see the files above 512x512unless scrolling up - 29x29,57x57,114x114.  no matter.
    So - after reading and rereading the Apple specs and directions, I removed the 512x512 and the 1024x1024 images from the Icons list that get pulled in during build.
    Next, I again re-read the Apple directives, and put the required files for the build into the base directory of the build, as per this image.
    In actual fact - I can probably leave out the last two. iTunesArtwork.xxx But I don't know, because it is entirely unclear on that point. I can find no directive regarding this at all.
    Do I upload them myself? Probably? I don't know.
    HOWEVER.
    The build now completes. Java, or something, was very confused about finding that file called 1024x1024.png in the build list, and would not do it.
    Take it out of icons, built fine. Put it in the icons directory, and crash...
    Now - with the setup I am using, it all builds fine for ipad and iphone, in all resolutions.
    I don't know what the problem is with what Java is seeing, but this fixes it it seems.
    Hope that helps anyone else.
    cheers

  • OracleAS: java.lang.OutOfMemoryError: Java heap space

    Hi all,
    Now I'm using Oracle AS 10.1.3.0, and after some hours, the error "java.lang.OutOfMemoryError: Java heap space" appeared.
    And this is the information of OracleAS memory when it has error:
    Memory MXBean
    Heap Memory Usage: init = 268,435,456(262,144K) used = 112,462,248(109,826K) committed = 396,558,336(387,264K) max = 517,013,504(504,896K)
    Non-Heap Memory Usage: init = 16,973,824(16,576K) used = 98,829,840(96,513K) committed = 99,319,808(96992K) max = 167,772,160(163,840K)
    Memory Pool MXBeans
    Code Cache
    Type: Non-heap memory
    Usage: init = 196608(192K) used = 27540032(26894K) committed = 27885568(27232K) max = 33554432(32768K)
    Peak Usage: init = 196608(192K) used = 27556992(26911K) committed = 27885568(27232K) max = 33554432(32768K)
    PS Eden Space
    Type:Heap memory
    Usage:init = 22478848(21952K) used = 26278816(25662K) committed = 50069504(48896K) max = 54722560(53440K)
    Peak Usage: init = 22478848(21952K) used = 57802752(56448K) committed = 57802752(56448K) max = 58589184(57216K)
    Collection Usage:init = 22478848(21952K) used = 0(0K) committed = 50069504(48896K) max = 54722560(53440K)
    PS Survivor Space
    Type: Heap memory
    Usage: init = 3670016(3584K) used = 1082080(1056K) committed = 2424832(2368K) max = 2424832(2368K)
    Peak Usage: init = 3670016(3584K) used = 19857256(19391K) committed = 19857408(19392K) max = 19857408(19392K)
    Collection Usage: init = 3670016(3584K) used = 1082080(1056K) committed = 2424832(2368K) max = 2424832(2368K)
    PS Old Gen
    Type: Heap memory
    Usage: init = 238616576(233024K) used = 85108712(83113K) committed = 344064000(336000K) max = 477233152(466048K)
    Peak Usage: init = 238616576(233024K) used = 477233152(466048K) committed = 477233152(466048K) max = 477233152(466048K)
    Collection Usage: init = 238616576(233024K) used = 85108712(83113K) committed = 344064000(336000K) max = 477233152(466048K)
    PS Perm Gen
    Type: Non-heap memory
    Usage: init = 16777216(16384K) used = 71289808(69618K) committed = 71434240(69760K) max = 134217728(131072K)
    Peak Usage: init = 16777216(16384K) used = 71289808(69618K) committed = 71696384(70016K) max = 134217728(131072K)
    Collection Usage: init = 16777216(16384K) used = 71177496(69509K) committed = 71434240(69760K) max = 134217728(131072K)
    And this is runtime prarameter:
    -Xrs -server -XX:MaxPermSize=128m -Xms256m -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Dhttp.webdir.enable=false
    Any one can help me?
    Rgds.

    Think about what happens in your program. If your program loads lots of data into memory of the AS (=heap) and you have lots of users, then you can get errors like this. The obvious solution is to start raising the heapsize, but you cannot do that anymore, since you're out of physical memory.
    So with the information I have seen so far, in this case you either have to buy more memory, get less users or refactor your program.

  • "java.lang.OutOfMemoryError: Java heap space"  while trying to read Excel.

    Hi Experts,
    Here is my query. I'm trying to upload excel data into database table. This excel contains more than 20000 records. I'm storing this data in a vector after reading it & passing this vector as a parameter to another method(not mentioned in the below code) which writes into the database. The code works for records <4000, but fails to read beyond that & throws exception as below.
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Java heap space
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:433)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    javax.servlet.ServletException: Java heap space
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774)
         org.apache.jsp.readexcelsap_jsp._jspService(readexcelsap_jsp.java:365)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    root cause
    java.lang.OutOfMemoryError: Java heap space
    Below is the code for reference. Kindly Help me in getting this heap space error rectified or suggest me alternate ways.
    I tried increasing Heap space as googled but in vain.
    <%!
    private Vector readExcelSheet(String uploadedFilePath, int sheetNo) throws IOException
         Vector allRowInfo = null;
            try
                HSSFSheet sheet= getWorkSheet(uploadedFilePath,sheetNo);
                //System.out.println(uploadedFilePath);
                //System.out.println(sheetNo);
                //System.out.println("--Sheet--"+sheet);
                //System.out.println("--Sheet--"+sheet.getLastRowNum());
                if(sheet!=null)
                allRowInfo = new Vector();
                for(int i=0;i<=sheet.getLastRowNum();i++)
                    HSSFRow row= sheet.getRow(i);
                    Vector eachRowInfo = new Vector();
                    for(short j=0;j<row.getLastCellNum();j++)
                        eachRowInfo.add(getCellContents(row.getCell(j)));
                        //System.out.println("--"+row.getCell(j));
                    allRowInfo.add(eachRowInfo);
                else
                     allRowInfo = null;
                //return allRowInfo;
            catch (FileNotFoundException ex)
                 System.out.println("-- Error in reading--getWorkSheet -- 1--"+ex);
                 allRowInfo = null;
            catch (IOException ex)
                 System.out.println("-- Error in reading--getWorkSheet-- 2 --"+ex);
                 allRowInfo = null;
            catch (IndexOutOfBoundsException ex)
                 System.out.println("-- Error in reading--getWorkSheet-- 2 --"+ex);
                 allRowInfo = null;
            catch (NullPointerException ex)
                 System.out.println("-- Error in reading--getWorkSheet --"+ex);
                 allRowInfo = null;
            catch(Exception e)
                System.out.println(e.getMessage());
                e.printStackTrace();
                 allRowInfo = null;
            return allRowInfo;
    %>
    <%!
    private HSSFSheet getWorkSheet(String uploadedFilePath, int sheetNo) throws IOException
            HSSFSheet sheet = null;
            try
                FileInputStream inputStream=new FileInputStream(uploadedFilePath);
                POIFSFileSystem poisFile=new POIFSFileSystem(inputStream);
                HSSFWorkbook workBook= new HSSFWorkbook(poisFile);
                sheet = workBook.getSheetAt(sheetNo);
            catch (FileNotFoundException ex)
                 System.out.println("-- Error in reading--getWorkSheet --"+ex);
                 sheet = null;
            catch (IOException ex)
                 System.out.println("-- Error in reading--getWorkSheet --"+ex);
                 sheet = null;
            catch (IndexOutOfBoundsException ex)
                 System.out.println("-- Error in reading--getWorkSheet --"+ex);
                 sheet = null;
            catch (NullPointerException ex)
                 System.out.println("-- Error in reading--getWorkSheet --"+ex);
                 sheet = null;
            catch(Exception e)
                System.out.println(e.getMessage());
                e.printStackTrace();
                sheet = null;
             return sheet;
    %>
    <%!
    public String getCellContents(HSSFCell cell)
            String cellValue="";
            String cellValue1="";
            if(cell!=null)
                 int cellType= cell.getCellType();
                if(cellType==HSSFCell.CELL_TYPE_NUMERIC)
                    cellValue=(float)cell.getNumericCellValue()+"";           
                if(cellType==HSSFCell.CELL_TYPE_STRING)
                     cellValue1=cell.getStringCellValue();
                     StringBuffer sb = new StringBuffer();
                     for(int i = 0; i < cellValue1.length(); i++)
                            sb.append(cellValue1.charAt(i));
                         if(cellValue1.charAt(i)=='\'')
                              sb.append('\'');
                     cellValue = sb.toString();
           return cellValue;
    %>
    <html>
    <body>
    <%
         String file_Name="Myexcel.xls";
         String path = "D://Test Upload//"+file_Name;
         Vector list = readExcelSheet(path,0);
    </html>
    </body>Regards
    Venky
    Edited by: Venky_86 on Jun 17, 2009 6:05 AM

    HOW did you increase the heap space? As that is the only solution you have in this case really.
    It is a known fact that POI can use up a lot of memory for big spreadsheets. If at all possible, I would try to switch to plain text comma separated files / tab delimited files. If you cannot do that, I would try to put a size restriction on the sheets that your application will process to get rid of the heap space risk. A sheet can contain 20000 records, or four sheets can contain 5000 records; in both cases you process the exact same data, but at only 25% of the total memory usage.

Maybe you are looking for