tag:blogger.com,1999:blog-8370545678641066072.post3036722057093032419..comments2024-03-27T22:39:54.000-07:00Comments on ******* Rafi ORACLE DBA & APPS DBA Blog*******: RAC QUESTIONS AND ANSWERSRafihttp://www.blogger.com/profile/09518536510079429102noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-8370545678641066072.post-38872591072425077672012-12-03T04:01:16.869-08:002012-12-03T04:01:16.869-08:00In rac dml statements will not execute whenever no...In rac dml statements will not execute whenever node disconnect or evicted from cluster.at that time dml statements get rollback.there is no dml failover in rac .mallikarjunreddy9985@gmail.comhttps://www.blogger.com/profile/09945758312555759018noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-61522164229093441212012-05-08T18:12:03.578-07:002012-05-08T18:12:03.578-07:00Hi Sharif,
We don't have direct DML failover m...Hi Sharif,<br />We don't have direct DML failover method from Oracle you are correct.<br /><br />Select statement uses the benefits of oracle net service and keep the track of cursor that how much rows has been returned to client associated with cursor. So when a select statement fails (due to network) oracle net service will connect to other node in rac and attach to previous cursor. That is called repositioning the cursor to client. Then oracle can resume (it know how many rows has been returned) select statement and fetching rows. <br /><br />There is a way for this to work, however it must be a part of your application code. This is over-simplified but you should be able to follow the logic.<br /><br />open connection<br />start AUTONOMOUS transaction<br />do stuff<br />receive disconnect error<br />log this error in your app log<br />test connection<br />if dead AND cnt < {n} #test 5 times before completely failing<br />cnt=cnt+1<br />close current connection<br />go to open connection and start again<br />commit<br />if return code is failure on connection here, again, go to open connection as this transaction is no longer active.<br /><br />Thiis works due to the fact that during instance failure in the middle of this transaction, the first attempt (that failed) will be rolled back during instance recovery which is performed by a surviving node.<br /><br />If the entire cluster is down, then subsequent attempts will also fail and the app should fail completely at that point. otherwise, it will connect to one of the other nodes and simply continue on.Rafihttps://www.blogger.com/profile/09518536510079429102noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-29204360481838944342012-04-17T01:46:48.438-07:002012-04-17T01:46:48.438-07:00DML statement will be rollback and SELECT will be ...DML statement will be rollback and SELECT will be failed over to the surviving node.<br />Regards,<br />Sharif,AbudhabiSharif chowdhuryhttps://www.blogger.com/profile/05814205441144791037noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-13226789505066802942011-10-22T08:42:41.087-07:002011-10-22T08:42:41.087-07:00This Nice stuff you have bloged, please keep shari...This Nice stuff you have bloged, please keep sharing it.<br /><br />Thanks,<br />nikhilNikhil Mistryhttps://www.blogger.com/profile/10387827964315031458noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-32623067802456158292011-06-21T06:14:16.678-07:002011-06-21T06:14:16.678-07:00It's really been a fascinating experience read...It's really been a fascinating experience reading your blog & You 've done a great job for budding Apps DBA's like me.<br /><br /> I wanna draw your attention to below ans that u provided<br /><br /> Q 5)If we perform a DML acivity in a 2 node RAC environment,if that node disconnect due to some reason,What will be the result?<br /><br />Ans: The DML statement will execute successfully since Database is there on the shared device.<br /><br /> After reading the same about DML statement failover at the link below <br /> http://www.dba-oracle.com/art_oramag_rac_taf.htm<br /><br /> Kindly explain what should i assume that The DML statement will execute successfully in case of node failure ?<br /><br />Thanks!!Jdbaighttps://www.blogger.com/profile/07308197320307040771noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-74131037414424128532011-03-03T00:48:14.839-08:002011-03-03T00:48:14.839-08:00Walkslm Shadab,
Ok cool....Its my p...Walkslm Shadab,<br /> Ok cool....Its my pleasure...<br /><br /><br />Best regards,<br /><br />Rafi.Rafihttps://www.blogger.com/profile/09518536510079429102noreply@blogger.comtag:blogger.com,1999:blog-8370545678641066072.post-46134729722319793492011-03-02T00:42:12.050-08:002011-03-02T00:42:12.050-08:00Hi Rafi Salam,
This is Alam from pune,got ur blog...Hi Rafi Salam,<br /><br />This is Alam from pune,got ur blogs.<br />Thaks manUnknownhttps://www.blogger.com/profile/12666129345457899654noreply@blogger.com