Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re:NLS and ORA-03106: fatal two-task communication protocol

Re:NLS and ORA-03106: fatal two-task communication protocol

From: <Cherie_Machler_at_gelco.com>
Date: Fri, 02 Feb 2001 13:25:28 -0800
Message-ID: <F001.002A98AE.20010202132835@fatcity.com>

Dick,

In this case, it doesn't appear to be NLS or a network problem. The developer has replied with the following:

When I ran this code, I got the Oracle -1458 problem:

   EXEC SQL EXECUTE

      BEGIN
      EmployeePackage.GetNextDownloadEmployee;

:xversion := CommonGlobalPackage.Employee_Rec.VERSION;
:xemail_name := CommonGlobalPackage.Employee_Rec.EMAIL_NAME;
:employee_icn := CommonGlobalPackage.Employee_Rec.EMP_ICN;
:xprogram_load_flag :=
CommonGlobalPackage.Employee_Rec.PROGRAM_LOAD_FLAG;
:xboot_load_flag := CommonGlobalPackage.Employee_Rec.BOOT_LOAD_FLAG;
END;

   END-EXEC; It wasn't clear where the problem occurred in the code since the dbx debugger doesn't step into the Pro*C code, so I divided the SQL EXECUTE into two parts and re-ran the program.

   EXEC SQL EXECUTE

      BEGIN
      EmployeePackage.GetNextDownloadEmployee;

:xversion := CommonGlobalPackage.Employee_Rec.VERSION;
:xemail_name := CommonGlobalPackage.Employee_Rec.EMAIL_NAME;
END;

   END-EXEC;
   dummy = 1;
   EXEC SQL EXECUTE
      BEGIN

:employee_icn := CommonGlobalPackage.Employee_Rec.EMP_ICN;
:xprogram_load_flag :=
CommonGlobalPackage.Employee_Rec.PROGRAM_LOAD_FLAG;
:xboot_load_flag := CommonGlobalPackage.Employee_Rec.BOOT_LOAD_FLAG;
END;

   END-EXEC; When this version of the code run, I get the Oracle -3106 error. As far as I know,
the second version is legal; the compiler gives me no errors or warnings.

Any clues, Dick?

Cherie

dgoulet_at_vicr.com on 02/02/2001 02:24:39 PM

Please respond to ORACLE-L_at_fatcity.com

To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: (bcc: Cherie Machler/GELCO)

Cherie,

    NLS_LANG and NLS_DATE_FORMAT. Things I've seen on this front.

    Database created with US7ASCII & end user using American_america.WE8ISO8859P1

    Database set for NLS_DATE_FORMAT='DD-MON-YY'   and end user with NLS_DATE_FORMAT ='DD-MON-YYYY:HH24:MI

But in general 3106 is a catch all. Generally it means that something happen, it does not know for sure, so it defaults. Other possibilities: bad network cable(s), DNS server oops, router fowl-up, bad network card(s), noisy network card(s), someone with a fat foot, or my all time favorite Access being used as a multi user DB. That last one will send the data packet collision rate through the ceiling.

Dick Goulet

____________________Reply Separator____________________
Author: Cherie_Machler_at_gelco.com
Date:       2/2/2001 11:41 AM

We're getting this ORA-03106 error on 8.1.5 Oracle on Sun Solaris.

I looked it up on Metalink and there is quite a lot of information there. I looked at one document in particular and found lots of causes for ORA-03106. I'm going through the possibilities one at a time and am wondering what one of the items means.

In item number 1 below it says to check for NLS incompatibilities. Nothing real specific. Do they mean like the values for NLS_LANG or something like that? I'm not sure and I don't have anyone to follow up with. Anyone have a clue? Following is the excerpt:

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.

Thanks,

Cherie Machler
Gelco Information Network

--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
  INET: Cherie_Machler_at_gelco.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
  INET: dgoulet_at_vicr.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).






-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: 
  INET: Cherie_Machler_at_gelco.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Fri Feb 02 2001 - 15:25:28 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US