RE: PL/SQL differences between Solaris & Linux

From: William Wagman <wjwagman_at_ucdavis.edu>
Date: Thu, 24 Jul 2008 08:38:17 -0700
Message-ID: <FE043305B38A0F448F3924429D650C2A08507C6A@VEXBE2.ex.ad3.ucdavis.edu>


Bradd,  

You are correct, that is the point I was trying to make. I did take a look at the Metalink note and that is not quite the situation. In that I know the fix and are moving to linux I will just categorize it as another oracle mystery.  

Thank you.  

Bill Wagman
Univ. of California at Davis
IET Campus Data Center
wjwagman_at_ucdavis.edu
(530) 754-6208

From: Bradd Piontek [mailto:piontekdd_at_gmail.com] Sent: Thursday, July 24, 2008 6:58 AM
To: kennaim_at_gmail.com
Cc: William Wagman; oracle-l
Subject: Re: PL/SQL differences between Solaris & Linux  

I think the point the original poster is trying to make is that he isn't switching from one version of oracle to another, but merely switching platforms. I've found several instances where things were allowed in 9i PL/SQL and Oracle got much more strict in 10g. I don't think this is what we are talking about here. Are you sure all your pl/sql init.ora parameters are identical between the two environments? What about one-off patches between the two installs? I was always reading Metalink Doc ID #453663.1 and wondering if it applies (my guess is no).

Bradd Piontek
Oracle Blog: http://piontekdd.blogspot.com Linked In: http://www.linkedin.com/in/piontekdd

On Thu, Jul 24, 2008 at 8:33 AM, Ken Naim <kennaim_at_gmail.com> wrote:

This is most likely a bug. I had a similar situation where functionality was
actually deemed a bug in a later release. In version 8.1.5 views could be
created with and passed parameters.

Ken

-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]

On Behalf Of William Wagman
Sent: Wednesday, July 23, 2008 2:29 PM
To: oracle-l

Subject: PL/SQL differences between Solaris & Linux

Greetings,

We are in the process of moving our 9.2.0.8.0 EE database from Solaris SunOS 5.8 Generic_117350-54 sun4u sparc SUNW,Sun-Fire-480R to Linux 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:58:43 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux and have found an issue with some PL/SQL code. The following PL/SQL code segment (if the entire procedure would help, it's only 100 lines, let me know) compiled successfully on Solaris...

EXCEPTION
  WHEN OTHERS
  THEN

     SELECT ucd.log_seq.NEXTVAL
       INTO v_error_row
       FROM DUAL;

     INSERT INTO ucd.LOG
          VALUES (v_error_row, 'APS', 'CARD_SERVICE_FIX', 'PROCEDURE',
                  'ERROR', SQLCODE || ': ' || SQLERRM || '.', SYSDATE);

This code on linux generated the error
PL/SQL: ORA-00984: column not allowed here Which is to be expected (I guess) as I this is apparently not supported with SQLCODE and SQLERRM and I had to make the following changes...

  v_error_string VARCHAR2 (4000);
.
.
EXCEPTION
  WHEN OTHERS
  THEN

     v_error_string := SQLCODE || ': ' || SQLERRM || '.';
     SELECT ucd.log_seq.NEXTVAL
       INTO v_error_row
       FROM DUAL;

     INSERT INTO ucd.LOG
          VALUES (v_error_row, 'APS', 'CARD_SERVICE_FIX', 'PROCEDURE',
                  'ERROR', v_error_string, SYSDATE);

Can anyone explain why this worked on Solaris but not on linux
(disclaimer: I didn't write the code). Is there something else I may not
be aware of going on, is it an artifact of something else, are there differences between solaris and linux in this regard or are the gods just angry at me for other transgressions?

Thanks.

Bill Wagman
Univ. of California at Davis
IET Campus Data Center
wjwagman_at_ucdavis.edu
(530) 754-6208

--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l



 


--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jul 24 2008 - 10:38:17 CDT

Original text of this message