Results 1 to 5 of 5
  1. #1
    Join Date
    Feb 2008
    Posts
    43

    Unanswered: Oracle error on indexed CLOB

    Hi,

    I'm relatively new to Oracle, but I have some basic db knowledge.

    I have encountered the following Oracle error:


    javax.ejb.EJBException: nested exception is: java.io.IOException: ORA-29877: failed in the execution of the ODCIINDEXUPDATE routine
    ORA-20000: Oracle Text error:
    ORA-01000: maximum open cursors exceeded
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 675
    ORA-06512: at line 2


    In principle the java code is doing inserts therefore they insert in the clob column as well. The java code splits a big message into smaller pieces and then treats them in parallel.

    What I'm interested the most is how to understand the error message, is it like java errors? is the ODCIINDEXUPDATE failing because there are too many cursors opened? and the many cursors opened are caused by the CTXSYS.TEXTINDEXMETHODS?

    As causes or solutions I could imagine the following:
    1) a problem with the java code that does not closes properly the connections
    2) an issue with too many threads started in paralel and that connections are properly closed but the total number of connections exceeds the maximum number of cursors
    3) a pure Oracle error that could be tuned by changing Oracle parameters.


    In principle I have much more to learn especially with Oracle, so if you see that I could get some help by reading some more, please feel free to drop some links that could help me better understand the issue at stake.


    Thank you

  2. #2
    Join Date
    Aug 2003
    Location
    Where the Surf Meets the Turf @Del Mar, CA
    Posts
    7,776
    Provided Answers: 1
    29877, 00000, "failed in the execution of the ODCIINDEXUPDATE routine"
    // *Cause: Failed to successfully execute the ODCIIndexUpdate routine.
    // *Action: Check to see if the routine has been coded correctly.
    You can lead some folks to knowledge, but you can not make them think.
    The average person thinks he's above average!
    For most folks, they don't know, what they don't know.
    Good judgement comes from experience. Experience comes from bad judgement.

  3. #3
    Join Date
    Feb 2008
    Posts
    43
    Quote Originally Posted by anacedent
    29877, 00000, "failed in the execution of the ODCIINDEXUPDATE routine"
    // *Cause: Failed to successfully execute the ODCIIndexUpdate routine.
    // *Action: Check to see if the routine has been coded correctly.
    anacedent, if I understand you correctly the ODCIINDEXUPDATE routine could have been written with some bugs or performance was not one of the main priorities.

    Now , is this routine written by the user? doesn't it come by default with all the Oracle db engine?

  4. #4
    Join Date
    Aug 2003
    Location
    Where the Surf Meets the Turf @Del Mar, CA
    Posts
    7,776
    Provided Answers: 1
    What Operating System name & version?
    What Oracle version to 4 decimal places?; i.e. V10.2.0.4

    I do not have any first hand experience with Oracle Text.

    http://www.lmgtfy.com/?q=oracle+29877+"failed in the execution of the ODCIINDEXUPDATE routine"
    You can lead some folks to knowledge, but you can not make them think.
    The average person thinks he's above average!
    For most folks, they don't know, what they don't know.
    Good judgement comes from experience. Experience comes from bad judgement.

  5. #5
    Join Date
    Feb 2008
    Posts
    43
    You are right I shuld have written from the beginning all the details:

    Operating system Sun Solaris 9.
    RDBMS Oracle 10.2.0.3.
    Application server BEA WebLogic Server 8.1 SP3.
    JDK Java 2 SDK 1.4.2_14.

    I have searched google for some hours before posting here, but there was not much to find.

    For me it would be at least interesting to understand how to read the Oracle error, because there are six Oracle error codes in the error message:

    javax.ejb.EJBException: nested exception is: java.io.IOException: ORA-29877: failed in the execution of the ODCIINDEXUPDATE routine
    ORA-20000: Oracle Text error:
    ORA-01000: maximum open cursors exceeded
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 675
    ORA-06512: at line 2

    and I do not understand if for example the excedeed number of cursors triggers the error in ODCIINDEXUPDATE or the otherway around.

    Is it an Oracle driver issue or is it some other manipulation code written by somebody else then Oracle...

    thank you for your support, I understand it is a tough question
    Last edited by ronnyy; 05-21-09 at 03:12.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •