Re: Probably simple, stupid question about Oracle TAF and DBI
"Martin J. Evans" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.general |
|---|---|
| Organization | at home |
| Message-ID | <[email protected]> |
On 02/06/2014 01:25, Bruce Johnson wrote: > I've been tasked with making our Oracle db (used primarily as a DB > back end for web applications) function within a disaster recovery > plan now that we actually have hardware at a second site to do > disaster recovery (other than 'Go buy a new server and restore it > from backup' :-) > > I'm planning to use Oracle's Data Guard to manage the db backend, > which seems quite straightforward, but my question is about managing > failover (what Oracle calls TAF) > >> From what I'm reading >> <http://search.cpan.org/~pythian/DBD-Oracle-1.74/lib/DBD/Oracle.pm#TAF_(Transparent_Application_Failover)> > >> > DBD::Oracle uses the tns entry for TAF: > > eg: > > (FAILOVER_MODE= (TYPE=select) (METHOD=basic) (RETRIES=10) > (DELAY=10)) > > Am I right in thinking that since each time a script is called it > creates a handle, does its thing, then ends, in the event of a > failure, the, each call of the script will take over 100 seconds to > fail over, given the above settings? > > Therefore, to take advantage of TAF I'd have to utilize persistent > DBI handles (using, for example, Apache::DBI > <http://perl.apache.org/docs/1.0/guide/databases.html>) and once the > first call to a failed instance takes 100 seconds to fail over, the > $dbh will then talk to the backup server thereafter? > I fixed the TAF support when we were using Oracle RAC and I haven't used it in a while. Our application connects and stays connected and when the first server failed it took a while (initially) to fail over to the other server. I'm sorry but I don't have that kit available right now to retest so this is only my recollection. All I know for definite is what I wrote in the DBD::Oracle pod. The actual failover is implemented in the OCI libraries and all DBD::Oracle does is make the appropriate calls to set it up and call the callback. As such Oracle docs will be your friend. Try it and see and report back. Up to this point I only know of myself as having used TAF with DBD::Oracle. There may be an article on the Easysoft web site. Martin -- Martin J. Evans Wetherby, UK