Distributed transactions and Oracle RAC load balancing problems - advice needed!

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Eirik Tryggeseth

    Distributed transactions and Oracle RAC load balancing problems - advice needed!

    During deployment of an application using distributed transactions managed
    under COM+ on an Oracle 9i RAC database, we encounter situations where the
    load balancing mechanisms in the RAC result in that the component context in
    the distributed transaction (in our case two different COM components)
    cannot hold onto the same ODBC connection. Or it may be that the database
    session is changed dynamically for the ODBC connection, so that component 2
    in the transaction cannot read updates made by component 1 in the
    transaction.

    Originally we use MS ODBC driver for Oracle (2.573.9030.00) , and Oracle XA
    (9.2.0.1.0). We have investigated Oracle's ODBC driver (9.02.00) ,
    EasySoft's ODBC driver and DataDirect's ODBC driver to find if any of these
    can ensure that the same session is held for the connection during the
    entire lifetime of the transaction. It seems that BEA with WebLogic has
    solved the solution with their JDBC connection pool configuration (parameter
    KeepXAConnTillT XComplete).

    Has anyone else run into this problem and found a solution or work-around?
    According to Oracle's promo documents no application changes should be
    needed for using the RAC option.

    Br,

    Eirik


  • Howard J. Rogers

    #2
    Re: Distributed transactions and Oracle RAC load balancing problems - advice needed!

    Eirik Tryggeseth wrote:
    During deployment of an application using distributed transactions managed
    under COM+ on an Oracle 9i RAC database, we encounter situations where the
    load balancing mechanisms in the RAC result in that the component context
    in the distributed transaction (in our case two different COM components)
    cannot hold onto the same ODBC connection. Or it may be that the database
    session is changed dynamically for the ODBC connection, so that component
    2 in the transaction cannot read updates made by component 1 in the
    transaction.
    >
    Originally we use MS ODBC driver for Oracle (2.573.9030.00) , and Oracle
    XA
    (9.2.0.1.0). We have investigated Oracle's ODBC driver (9.02.00) ,
    EasySoft's ODBC driver and DataDirect's ODBC driver to find if any of
    these can ensure that the same session is held for the connection during
    the entire lifetime of the transaction. It seems that BEA with WebLogic
    has solved the solution with their JDBC connection pool configuration
    (parameter KeepXAConnTillT XComplete).
    >
    Has anyone else run into this problem and found a solution or work-around?
    According to Oracle's promo documents no application changes should be
    needed for using the RAC option.
    My God, you didn't actually *believe* those promo documents, did you?????!

    Sorry, but that's just a bit naiive.

    ODBC does not failover properly in a RAC environment without a lot of
    handholding, at least in my (somewhat limited, admittedly) experience.
    Meaning that the very idea of running an ODBC app on RAC is... well, the
    word "brave" comes to mind.

    So... good luck, basically. I hope you get the technical help you need from
    elsewhere on this group, but I wouldn't be holding my breath.

    Regards
    HJR



    Comment

    Working...