Integration

Get Involved. Join the Conversation.

Topic

    Fabian Wipfli
    ICS Database connection after patching on DB prevent...
    Topic posted April 26, 2018 by Fabian WipfliBlue Ribbon: 750+ Points, last edited April 30, 2018 by Arijit ChakrabortyBronze Trophy: 5,000+ Points, tagged Database, Integration 
    224 Views, 5 Comments
    Title:
    ICS Database connection after patching on DB prevent "existing state of packages has been discarded"
    Summary:
    ICS Database connection after patching on DB prevent "existing state of packages has been discarded"
    Content:

    Hi together

    How can I prevent after patching the database to get the error "existing state of packages has been discarded"?

     

    Full Error:

     

    <![CDATA[<errorCode>OSB-380001</errorCode><ICSfaultVar>

    <err:serviceInvocationError xmlns:err="http://xmlns.oracle.com/cloud/generic/service/fault">

       <err:type>Stored procedure invocation error</err:type>

       <err:title>Error while trying to prepare and execute the EFIT.EF_SL_PG_SS_WS_CREATE_ORDER.CREATE_ORDER_ENTRY API.</err:title>

       <err:detail>An error occurred while preparing and executing the EFIT.EF_SL_PG_SS_WS_CREATE_ORDER.CREATE_ORDER_ENTRY API. Cause: java.sql.SQLException: ORA-04068: existing state of packages has been discarded

    ORA-04061: existing state of package body "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER" has been invalidated

    ORA-04065: not executed, altered or dropped package body "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER"

    ORA-06508: PL/SQL: could not find program unit being called: "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER"

    ORA-06512: at line 1

    </err:detail>

       <err:errorCode>serviceInvocationError</err:errorCode>

       <err:remedialAction>Check to ensure that the database objects exists(stored procedures,table,view..etc) in the database and the parameters match the signature of the API-like not exceeding the column range or is not NULL or is already existing value.Please examine the error message carefully to determine a resolution.</err:remedialAction>

    </err:serviceInvocationError>

    </ICSfaultVar><reason>oracle.tip.adapter.sa.api.JCABindingException: Stored procedure invocation error.

    Error while trying to prepare and execute the EFIT.EF_SL_PG_SS_WS_CREATE_ORDER.CREATE_ORDER_ENTRY API.

    An error occurred while preparing and executing the EFIT.EF_SL_PG_SS_WS_CREATE_ORDER.CREATE_ORDER_ENTRY API. Cause: java.sql.SQLException: ORA-04068: existing state of packages has been discarded

    ORA-04061: existing state of package body "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER" has been invalidated

    ORA-04065: not executed, altered or dropped package body "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER"

    ORA-06508: PL/SQL: could not find program unit being called: "EFIT.EF_SL_PG_SS_WS_CREATE_ORDER"

    ORA-06512: at line 1

     

     

    Check to ensure that the database objects exists(stored procedures,table,view..etc) in the database and the parameters match the signature of the API-like not exceeding the column range or is not NULL or is already existing value.Please examine the error message carefully to determine a resolution.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-4068" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.

    ORA-04068: existing state of packages has been discarded

    ORA-04061: existing state of package body "EFIT.EF_SL:Application Error</reason><location><node>RouteNode1</node><path>response-pipeline</path></location><operation>CreateOrderEntry_REQUEST</operation>]]></ErrorDescription>

    Comment

     

    • Nagireddy Tadi

      if those are wrapper packages created by your integration flows, please try to deactivate and reactivate corresponding integration flows.

    • Hemanth Lakkaraju

      You need to make sure all the DB Objects are in successful compiled state, after the patching (and DB restart if needed) is done, before you use the DB Adapter to connect.

    • Fabian Wipfli

      Thanks for your answer. But a restart of the database is not an option. What about a refresh of the datasource? The weblogic has the ability to refresh the datasource.

    • Fabian Wipfli

      We have also self implementations of packages. Unfortunately, this is not a solution.

    • Hemanth Lakkaraju

      What I meant was restart may be applicable based on the DB patch applied and it is out of scope for ICS. What is concerned here, you need to make sure all DB objects are in compiled state after your DB patch.