Re: ORA-04068 on New Session

From: Andy Sayer <andysayer_at_gmail.com>
Date: Thu, 11 Jan 2024 00:50:13 +0000
Message-ID: <CACj1VR45xX8dFHcFvWsx-GE8VRXae-WnAF2F4+F2MLnOY3hQSQ_at_mail.gmail.com>



I blogged about what Sayan is referring to here: https://ctandrewsayer.wordpress.com/2017/02/11/another-reason-against-exception-swallowing/

The session is hitting the error because it has used the package before somehow. You can see sessions that have used a package by checking v$libcache_locks, if there is a row for the session and package object (using the address from v$db_object_cache) then it has used it.

Hope that helps,
Andy

On Wed, 10 Jan 2024 at 20:01, Sayan Malakshinov <xt.and.r_at_gmail.com> wrote:

> Iirc, this kind of errors must be passed to a client side or explicitly
> reset their state using DBMS_SESSION.RESET_PACKAGE. So, just always use
> "raise" in "when others then". Don't ignore them and do not replace them
> with raise_application_error
>
> On Wed, Jan 10, 2024, 19:18 Mladen Gogala <gogala.mladen_at_gmail.com> wrote:
>
>> On 1/10/24 13:16, Dominic Brooks wrote:
>>
>> Global variables should be private in the UGA.
>>
>> What happens when connection pooling is utilized? Or when shared server
>> is utilized? I believe that pooled and shared connections keep the global
>> variables in the shared pool (SGA).
>>
>> --
>> Mladen Gogala
>> Database Consultant
>> Tel: (347) 321-1217https://dbwhisperer.wordpress.com
>>
>>

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Jan 11 2024 - 01:50:13 CET

Original text of this message