Re: TAF and FCF together ?



Hi Kuassi, what I'm looking for is a JDBC-specific list of
clear best-practices and limitations that describe what
a programmer needs to do to make TAF and the Oracle
JDBC driver work together.

1 - That document seems to state that some queries will
*not* survive failover, whether with a delay or not. Is this
true?

2 - If I am in a transaction during a transparent failover,
what behavior will the Oracle driver exhibit that informs
me to roll back my transaction?

3 - If I have a set of PreparedStatements in my application
that I am continually re-using, will the failover ever affect
them and/or the DBMS cursors on which they depend?

4 - In cases where TAF is rerunning an in-flight query under-
the-covers, to get it back to where it was before the failover, I
have some questions. I am told that the position of the
new cursor is defined by fetching through the same *number*
of rows as had been fetched by the previous cursor. Given the
sizeable delay that may occur before the new cursor is
even started, is there any chance that the underlying data
may have changed so the new cursor counts past (and misses)
some new rows, and is set up to re-return rows that have
already been seen before the failover?

Thanks for your help on this,
Joe Weinstein

kuassi.mensah@xxxxxxxxx wrote:
Hi Joe,

These are very good questions that anyone contemplating TAF should
investigate..
I have discussed some of these in my book (chapter 7) and fairness
towards those who bought it suggests that i only give the following
summary:
a) things that TAF does well (transparently): connection failover and
query resubmit (or query failover) - with performance penalty
b) things that TAF does not do well (not transparent or does not work
at all): rolling back active transaction, and failing over session
states

As of 10g R2, FCF is bound to RAC while TAF may be used to failover
single-instance sites (Data Guard); TAF may also be customized through
its callback interface.

Hope this helps, Kuassi

joeNOSPAM@xxxxxxx wrote:
Hi Kuassi, could you discuss the ramifications of these
TAF considerations as it relates to JDBC?

(metalink registration required)
http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=97926.1

Under what conditions would a running JDBC application
suffer from "Continuing work on existing cursors may raise an error
(eg: ORA-25401 "cannot continue fetches")"? Will existing
PreparedStatements
ever become defunct?

When will JDBC queries fail with "Failed over selects may raise an
error"
and what error?

Do JDBC connections ever rely on having altered the session state with
such calls as "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD';"
or global temp tables, which will be lost on failover?

If a JDBC client is using the Oracle OCI driver, doing transactions,
how/when
to they know that a failover occurred so they know to roll back?

thanks,
Joe

.



Relevant Pages

  • Re: TAF and FCF together ?
    ... *not* survive failover, whether with a delay or not. ... TAF will not always successfully restart a query in progress. ... especially for JDBC in a complex working environment. ... when the application makes it's next use of the connection. ...
    (comp.databases.oracle.server)
  • Re: TAF and FCF together ?
    ... *not* survive failover, whether with a delay or not. ... TAF will not always successfully restart a query in progress. ... especially for JDBC in a complex working environment. ... when the application makes it's next use of the connection. ...
    (comp.databases.oracle.server)
  • Re: TAF and FCF together ?
    ... *not* survive failover, whether with a delay or not. ... TAF will not always successfully restart a query in progress. ... JDBC is just a conduit b/w the RDBMS and TAF. ... The surviving PreparedStatement assumes that the Statement handle's ...
    (comp.databases.oracle.server)
  • Re: TAF and FCF together ?
    ... *not* survive failover, whether with a delay or not. ... TAF will not always successfully restart a query in progress. ... JDBC is just a conduit b/w the RDBMS and TAF. ... PreparedStatement and their cursor are ...
    (comp.databases.oracle.server)
  • Re: TAF and FCF together ?
    ... a programmer needs to do to make TAF and the Oracle ... *not* survive failover, whether with a delay or not. ... TAF will not always successfully restart a query in progress. ... JDBC is just a conduit b/w the RDBMS and TAF. ...
    (comp.databases.oracle.server)