Re: RAC Failover testing

  • From: Andrey Kriushin <Andrey.Kriushin@xxxxxxxx>
  • To: anuragdba@xxxxxxxxx
  • Date: Sun, 27 Aug 2006 17:38:30 +0400

Hi,

Couple of comments.

1. (ENABLE=BROKEN) is used to request KeepAlive feature for TCP/IP socket. It might be useful if Oracle's standard DCD (Dead Connection Detection) is not working properly. I've used that option several times up to 9i inclusive together with OS KeepAlive settings (decreasing the check interval from usual 2 hour default). It actually helped shadow process to terminate when the client loses connection (well known session killing problem). I've even written an article some 6 years ago.
Anyway, this has nothing in common with the ORA-01089, as your client had successfully recognized lost connection and then occasionally tried to reconnect to the same server. Which is legal as long as you provided two addresses and allow LOAD_BALANCE. Well, one may expect more intellectual behaviour from TAF (not try the address just faulted), but that is another question.


2. Some warning about failed over sessions, especially when TYPE=SELECT. Don't forget, that specific session setting won't be restored after successful failover. For example, if you'd change NLS_DATE_FORMAT from instance default value via ALTER SESSION before your SELECT with DATE datatype and managed to fetch some rows before the failure, than you'll be surprised with the rest of results after failover. :-)

I would not recommend to use "out of the box" TAF if you need really "available" application. Take this as a demo of possibilities and go for http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96584/oci09adv.htm#449793
There is similar chapter in JDBC documentation.


HTH

Andrey

Anurag Verma wrote:

Why this is happening, as I am using (ENABLE=BROKEN) and (TYPE=SELECT) options???



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


Other related posts: