Making Pro*C applications "RAC aware"?
553292May 8 2009 — edited May 10 2009I'm a programmer and not an Oracle DBA, so I'm not sure what I'm being asked by a customer. Maybe you can help.
Part of our application consists of some Windows services that are Pro*C programs. They run in the background all of the time, polling the database for report requests and launching batch jobs to run reports. Things like that. We sell this application to lots of people running various Oracle environments.
A customer just emailed our support desk about a problem where the services kept failing. He writes:
"Can someone get with the vendor support and ask them if these services are RAC aware? I would like to find out why they aren't failing over to the other node when the connected node fails."
I don't know what this means. From what I've read, RAC provides "transparent application failover" through the SQL*Net and the listeners and TNSNAMES.ORA settings, ensuring that if a node fails, the listener on the database end might redirect the connection to another node. I don't see anything in Pro*C manuals that describes any particular things that the program must do to make it work. Right now, if the program can't complete a query for some fatal reason ("end-of-file on communication channel" among them), it just falls over. Should/can I be doing something else? Thanks.