This content has been marked as final. Show 5 replies
Thanks for the document. I do believe I do have the best practices in place.
This is a standalone instance with dataguard setup.
For the document I take that if the user is using Oracle Client 11gR2, there are couple options directly at the tns and sqlnet which I can configure. If the client is not using oracle client but some JDBC client, how would I go about dealing with the CFO at database role change.
Another options I was visiting, is the create a VIP on bother servers, and using 11gR2 feature which allows to call external scripts and just do (stop vip on standby, and start on primary)?:
What do you think of this solution. Has anybody ever used something like this. I've not come across it in any documentation and have yet to validate if there is a TCP timeout error when the old primary server is completely unavailable.
ssh root@old_primary ifdown eth0:0 exit su - root ifup eth0:0
I'm thinking yes. I would expect something like this :
Would I need to change the TNS entry to use VIP instead for the new connections not to TCP timeout? POMS= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orap01.intm.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = orap02.intm.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = POMSDG.mf.galderma.com) ) )
I would also expect a connect timeout be set in sqlnet.ora
POMS= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = orap01.intm.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = orap02.intm.com)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = POMSDG.mf.galderma.com) (FAILOVER_MODE=(TYPE=SELECT) (METHOD=BASIC) (RETRIES=15) (DELAY=12) ) ) )
SQLNET.OUTBOUND_CONNECT_TIMEOUT = 4
Thanks a lot for the information. This is what I was looking for. I need to confirm that all the end app servers are running the oracle client.
Maybe just for curiosity, have you ever implemented a call to an external script to stop and start ethernet VIP inside a STARTUP trigger?