cancel
Showing results for 
Search instead for 
Did you mean: 

Integration between Veritas Cluster and JDBC driver

Dear Sir,

 

Currently our application uses Oracle RAC for DB failover management and pool the connection at application end. In case of DB failover at one node, application receives the FAN events. Application determine the DB failover based on failover error code (FCF error code) and take certain action.

Now we are planning to move HA structure. Sorry, I don't have much knowledge about Veritas Cluster. But we are planning to use Veritas Cluster for failover management. To take this option we are currently executing some impact analysis from application point of view. Can you please share your view for following queries-

  1. How  Veritas Cluster and JDBC driver communicate each other?
  2. In case of DB failover at primary node, does the Veritas Cluster generates any failover events (i.e. similar to FCF error code)?
  3. As I have mentioned that we maintain the connection at application end. In case of DB failover, Veritas Cluster will refresh the connection pool i.e. remove the stale connection from the pool?
  4. If  Veritas Cluster will not refresh the connection pool in case of DB failover  then how application will detect DB failover? Does the application receive any FCF error code while use the stale connection?

 

Please note that currently we using oracle 11gR1 enterprise editions and planning to upgrade the oracle version to 11gR2 or 12c enterprise editions.

 

Regards,

Krishnendu

1 Solution

Accepted Solutions
Accepted Solution!

Re: Integration between Veritas Cluster and JDBC driver

Hi, 

Hope can give you some tips:

 

  1. How  Veritas Cluster and JDBC driver communicate each other?  <<VCS have no communcate with JDBC, it only manage many agent, which help monitor  all kinds of resources like application/Oracle/listener.., when resource fault, it help  failover to another node.  For SFRAC,Oracle running on both nodes, failover not happen.
  2. In case of DB failover at primary node, does the Veritas Cluster generates any failover events (i.e. similar to FCF error code)? <<<sure.
  3. As I have mentioned that we maintain the connection at application end. In case of DB failover, Veritas Cluster will refresh the connection pool i.e. remove the stale connection from the pool?<<<you can set virtual ip in VCS, while DB failover,application and  virtual ip failover also, refresh the connect from application side.
  4. If  Veritas Cluster will not refresh the connection pool in case of DB failover  then how application will detect DB failover? Does the application receive any FCF error code while use the stale connection?  <<application, virtual ip, db failover to same server, while application  start,it begin new connection for db.

 

Since your question are some complex, you can open case for Support engineer for detail , or contact sale engineer for detail plan.

 

 

View solution in original post

4 Replies

Re: Integration between Veritas Cluster and JDBC driver

I have moved this post to 'Cluster Server' forum for better visibility.

Accepted Solution!

Re: Integration between Veritas Cluster and JDBC driver

Hi, 

Hope can give you some tips:

 

  1. How  Veritas Cluster and JDBC driver communicate each other?  <<VCS have no communcate with JDBC, it only manage many agent, which help monitor  all kinds of resources like application/Oracle/listener.., when resource fault, it help  failover to another node.  For SFRAC,Oracle running on both nodes, failover not happen.
  2. In case of DB failover at primary node, does the Veritas Cluster generates any failover events (i.e. similar to FCF error code)? <<<sure.
  3. As I have mentioned that we maintain the connection at application end. In case of DB failover, Veritas Cluster will refresh the connection pool i.e. remove the stale connection from the pool?<<<you can set virtual ip in VCS, while DB failover,application and  virtual ip failover also, refresh the connect from application side.
  4. If  Veritas Cluster will not refresh the connection pool in case of DB failover  then how application will detect DB failover? Does the application receive any FCF error code while use the stale connection?  <<application, virtual ip, db failover to same server, while application  start,it begin new connection for db.

 

Since your question are some complex, you can open case for Support engineer for detail , or contact sale engineer for detail plan.

 

 

View solution in original post

Re: Integration between Veritas Cluster and JDBC driver

Hi!

Thanks for your reply.

In last couple days I read some documents about Veritas on internet. And I assume, intergration between veritas cluster and our application done as follows-

1. Configure the DB server as resouce of Veritas cluster. We will configure a virtual IP. It is a part of VCS configuration.

2. Application will communicate trough the vertual IP to get DB resouces.

3. In case of DB failover Application will recive some ORA error code to determine the failover event.

 

During failover, incase of Oracle RAC, Database generates some RAC events (FAN events) and that evet is set to JVM on which JDBC is running. JVM sent it to Oracle cache manager. The oracle cache manager throws SQL exception to notify the application and connection pool is get refreshed. Our Application donot refresh the connection pool.

 

As you mentioned Veritas Cluster will generates failover events.

>>

In case of DB failover at primary node, does the Veritas Cluster generates any failover events (i.e. similar to FCF error code)? <<<sure.

<<

Now in case of Veritas what will happen, Veritas will generates the failover events and connection pool get refreshed automatically (i.e. our application will do nothing) or its application responsibility to refresh the connection pool?

Re: Integration between Veritas Cluster and JDBC driver

Hi Krishnendu,

 

VCS generates different events and provides a trigger mechanism for this events. Users can create their own scripts which can be invoked based on the events, The event that is generated for a fault of an application is resfault event. You can have a trigger/script that is invoked based on this event which will refresh the connection pool.

 

Kindly go through the following URL to get more info https://www.veritas.com/community/articles/cheat-sheet-vcs-event-triggers OR go through the topic VCS event triggers in the following URL https://sort.symantec.com/public/documents/sfha/6.2/linux/productguides/html/vcs_admin/ch14.htm.

This event triggers gives the users the flexibility to run custom scripts based on the events. You will need to have a resfault trigger enabled for your Oracle resource in VCS if you want to enable the refresh connection pool functionality through VCS. However, VCS will not do any such thing on its own automatically unless a trigger is configured to do so.

If the application is owning the responsibility of refreshing the connection pool, than it should continue do so irrespective of VCS being there or no.

 

Regards,

Sudhir