1 Reply Latest reply on Feb 9, 2002 11:58 AM by 3004

    ORA-3106 : fatal two-task communication protocol error

    3004
      We get the following error intermittantly in our server. We are using WebLogic 6.1. Any reason. Here is the log we are getting...

      Parsing: BEGIN gid_msg_fund.fund_get_details (:1, :2, :3, :4, :5, :6, :7, :8)
      ; END;
      Executing: BEGIN gid_msg_fund.fund_get_details (:1, :2, :3, :4, :5, :6, :7, :8
      ) ; END;
      SQLException: SQLState() vendor code(3106)
      java.sql.SQLException: ORA-03106: fatal two-task communication protocol error
      at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
      at weblogic.jdbc.oci.Statement.executeUpdate(Statement.java:990)
      at weblogic.jdbc.oci.Statement.execute(Statement.java:1430)
      at ...
        • 1. Re: ORA-3106 : fatal two-task communication protocol error
          3004
          ORA-03106
          ========
          Possible reasons for the ORA-03106 errors include:

          1. Incompatibilities between the client application and the RDBMS server.
          For
          example, version incompatibilities, or a client trying to use a feature not
          supported by the database kernel.

          2. When using database links or gateways.

          3. Network or SQL*Net problems.

          4. Corruptions.

          5. PL/SQL - language related.


          RDBMS - Troubleshooting two-task common errors
          ==============================================

          1. Check for NLS incompatibilities between the client and server. This is
          a very popular cause of the ORA-03106 error.

          2. Check the alert log and RDBMS trace files for any pertinent information /
          errors that coincide with receiving the ORA-03106 error.

          3. Try to get a testcase and reproduce the problem in-house.

          4. If a testcase is not possible, ask for SQL*Net trace files, SQL traces,
          and
          try setting event 3106 to obtain the error stack.

          5. In extreme circumstances, this could indicate that a shared memory
          segment
          used by Oracle is corrupted. You will have to shut down the database,
          possibly using the abort option. Make sure all semaphores have been
          released by using the IPCS command on Unix. Oracle uses semaphores to
          control concurrency between all of the background processes (pmon, smon,
          drwr, lgwr, and oracle shadow processes). Semaphores are also used to
          control Two-Task communication between the user process and the shadow
          process.

          6. Try and narrow down the code that may be causing it. For example it might
          have started to happen after increasing the number of parameters in a PL/SQL
          block or when using certain values for bind variables, etc.

          7. If we still do not make headway, file a bug under RDBMS, but we still may
          need some or all of the above information as indicated above



          hope it helps!!



          "Prasanna" <praghav@frk.com> wrote in message
          news:3c649cc4$1@newsgroups.bea.com...
          We get the following error intermittantly in our server. We are using
          WebLogic 6.1. Any reason. Here is the log we are getting...
          >
          Parsing: BEGIN gid_msg_fund.fund_get_details (:1, :2, :3, :4, :5, :6,
          :7, :8)
          ; END;
          Executing: BEGIN gid_msg_fund.fund_get_details (:1, :2, :3, :4, :5, :6,
          :7, :8
          ) ; END;
          SQLException: SQLState() vendor code(3106)
          java.sql.SQLException: ORA-03106: fatal two-task communication protocol
          error
          at weblogic.db.oci.OciCursor.getCDAException(OciCursor.java:240)
          at weblogic.jdbc.oci.Statement.executeUpdate(Statement.java:990)
          at weblogic.jdbc.oci.Statement.execute(Statement.java:1430)
          at ...