Announcement

Collapse
No announcement yet.

Error Oracle in Mirth 3.0.3.7171

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Error Oracle in Mirth 3.0.3.7171

    Hello, we use Mirth (mirthconnect-3.0.3.7171.b1190-windows-x64)
    with Oracle DB Version 11.1.0
    and java jre-7u67-windows-x64. (Java version 1.7.0_67)

    We regularly have an error in Oracle:
    ORA-00604: An error has occurred in SQL réccursif 1
    ORA-01000: maximum number of open cursors exceeded and that the maximum number is increased by our DBA
    we are forced to delete DB and rebuild ?.

    Can you help us understand why,
    or else give us avenues of research for a solution.

    Thank you for your help.

  • #2
    Hi,

    Did you check that connection are much more of your mirth server.

    If this is the case you have channels with javascript connectors using oracle.jdbc.OracleDriver ?

    Close you know your connection each time ==> dbConn.close ()

    Comment


    • #3
      Can you post the full stack trace from the Mirth Connect server log that includes those errors?

      Does the error continue after deleting the DB and starting with a new one?

      Doing a google search on those oracle error codes yields some possible causes. ORA-00604 seems to be commonly caused by triggers.

      Try running this query on your database to test whether or not it is trigger related:

      Code:
      alter system set "_system_trig_enabled"=FALSE;
      See this post on the Oracle forums: https://community.oracle.com/thread/2412190

      Comment


      • #4
        Hi,

        Please make sure that you're closing all database connections (dbConn.close())

        If you're using native Java jdbc connections, don't forget to close resultSet and preparedStatements too.

        Monitoring the number of cursors can be done by using this query:

        select * from v$open_cursor;


        Kind Regards

        Nico
        Nico Vannieuwenhuyze

        Amaron.be

        Comment


        • #5
          Please specify if you're creating your using the Database Reader/Writer to read and write to the Oracle database, or if you're using custom JavaScript code, or if you're not doing either and simply have Oracle as your backend database.

          Like others have mentioned, it's possible that you're not closing all your JDBC objects.

          Comment


          • #6
            Hello All,

            thank you all for your answers, Oracle DB was recreates I know not execute commands on it.

            We ensure good close each connection to databases.

            I said that the error occurred when we were writing of tests on a DB mysql, oracle database is used only by Mirth.

            I joined you log containing ORA-00604 ORA-01000 errors.

            thank you
            Attached Files

            Comment


            • #7
              What is your "database.max-connections" set as in your mirth.properties file?

              Comment


              • #8
                Hello Wayneh,

                the value is set to 10 in the properties file, What exactly is this setting?

                The problems encountered comes from the oracle DB used by Mirth,
                Mirth is opening too many cursor to the DB oracle,
                how this is possible, how Mirth manages its access to the DB?
                Is Mirth opens a cursor for each entry on its DB connection to external DB?

                Thank you in advance for your answers

                Comment


                • #9
                  I'm seeing very similar problems, except I only need to bounce the server to recover.

                  Mirth 3.1.1.7461
                  Oracle DB Version 11.2
                  Java version 1.6.0_45
                  database.max-connections = 20

                  I have no custom code doing anything to the database. This has to be internal Mirth code. Stack trace below.

                  ERROR 2015-03-25 17:05:49,444 [qtp372847254-31630] com.mirth.connect.server.servlets.ChannelStatusSer vlet: com.mirth.connect.donkey.server.data.DonkeyDaoExce ption: java.sql.SQLException: ORA-01000: maximum open cursors exceeded
                  at com.mirth.connect.donkey.server.data.jdbc.JdbcDao. getConnectorMessageCount(JdbcDao.java:1500)
                  at com.mirth.connect.donkey.server.data.buffered.Buff eredDao.getConnectorMessageCount(BufferedDao.java: 447)
                  at com.mirth.connect.donkey.server.queue.ConnectorMes sageQueueDataSource.getSize(ConnectorMessageQueueD ataSource.java:101)
                  at com.mirth.connect.donkey.server.queue.ConnectorMes sageQueue.updateSize(ConnectorMessageQueue.java:82 )
                  at com.mirth.connect.donkey.server.queue.ConnectorMes sageQueue.size(ConnectorMessageQueue.java:118)
                  at com.mirth.connect.server.controllers.DonkeyEngineC ontroller.getDashboardStatuses(DonkeyEngineControl ler.java:423)
                  at com.mirth.connect.server.controllers.DonkeyEngineC ontroller.getChannelStatusList(DonkeyEngineControl ler.java:374)
                  at com.mirth.connect.server.servlets.ChannelStatusSer vlet.doPost(ChannelStatusServlet.java:86)
                  at javax.servlet.http.HttpServlet.service(HttpServlet .java:727)
                  at javax.servlet.http.HttpServlet.service(HttpServlet .java:820)
                  at org.eclipse.jetty.servlet.ServletHolder.handle(Ser vletHolder.java:652)
                  at org.eclipse.jetty.servlet.ServletHandler.doHandle( ServletHandler.java:447)
                  at org.eclipse.jetty.server.session.SessionHandler.do Handle(SessionHandler.java:225)
                  at org.eclipse.jetty.server.handler.ContextHandler.do Handle(ContextHandler.java:1038)
                  at org.eclipse.jetty.servlet.ServletHandler.doScope(S ervletHandler.java:374)
                  at org.eclipse.jetty.server.session.SessionHandler.do Scope(SessionHandler.java:189)
                  at org.eclipse.jetty.server.handler.ContextHandler.do Scope(ContextHandler.java:972)
                  at org.eclipse.jetty.server.handler.ScopedHandler.han dle(ScopedHandler.java:135)
                  at org.eclipse.jetty.server.handler.HandlerList.handl e(HandlerList.java:52)
                  at org.eclipse.jetty.server.handler.HandlerWrapper.ha ndle(HandlerWrapper.java:116)
                  at org.eclipse.jetty.server.Server.handle(Server.java :363)
                  at org.eclipse.jetty.server.AbstractHttpConnection.ha ndleRequest(AbstractHttpConnection.java:483)
                  at org.eclipse.jetty.server.AbstractHttpConnection.co ntent(AbstractHttpConnection.java:931)
                  at org.eclipse.jetty.server.AbstractHttpConnection$Re questHandler.content(AbstractHttpConnection.java:9 92)
                  at org.eclipse.jetty.http.HttpParser.parseNext(HttpPa rser.java:856)
                  at org.eclipse.jetty.http.HttpParser.parseAvailable(H ttpParser.java:240)
                  at org.eclipse.jetty.server.AsyncHttpConnection.handl e(AsyncHttpConnection.java:82)
                  at org.eclipse.jetty.io.nio.SslConnection.handle(SslC onnection.java:196)
                  at org.eclipse.jetty.io.nio.SelectChannelEndPoint.han dle(SelectChannelEndPoint.java:627)
                  at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.r un(SelectChannelEndPoint.java:51)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool.run Job(QueuedThreadPool.java:608)
                  at org.eclipse.jetty.util.thread.QueuedThreadPool$3.r un(QueuedThreadPool.java:543)
                  at java.lang.Thread.run(Thread.java:662)
                  Caused by: java.sql.SQLException: ORA-01000: maximum open cursors exceeded
                  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoe r.java:445)
                  at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoe r.java:396)
                  at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall. java:879)
                  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.jav a:450)
                  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java: 192)
                  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:5 31)
                  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4 CPreparedStatement.java:207)
                  at oracle.jdbc.driver.T4CPreparedStatement.executeFor Describe(T4CPreparedStatement.java:884)
                  at oracle.jdbc.driver.OracleStatement.executeMaybeDes cribe(OracleStatement.java:1167)
                  at oracle.jdbc.driver.OracleStatement.doExecuteWithTi meout(OracleStatement.java:1289)
                  at oracle.jdbc.driver.OraclePreparedStatement.execute Internal(OraclePreparedStatement.java:3584)
                  at oracle.jdbc.driver.OraclePreparedStatement.execute Query(OraclePreparedStatement.java:3628)
                  at oracle.jdbc.driver.OraclePreparedStatementWrapper. executeQuery(OraclePreparedStatementWrapper.java:1 493)
                  at com.mirth.connect.donkey.server.data.jdbc.JdbcDao. getConnectorMessageCount(JdbcDao.java:1496)
                  ... 32 more
                  Last edited by GDombrowski; 03-27-2015, 06:01 AM.

                  Comment

                  Working...
                  X