Hibernateを使用してOracle10gで実行されているアプリケーションがあります。Oracle RACを使用して、アプリケーション側でコードを変更することなく、データベース障害に関してアプリケーションの高可用性を実現できるかどうか疑問に思っています。
アプリケーション用に2つのOracleRACノードがあり、理想的には、ノードの1つでプラグをプルして、アプリケーションコードに到達する例外なしにアプリケーションを実行し続けることができるようにしたいと考えています。
私のアプリケーションは、select、insert、update、deleteクエリをデータベースに送信します。
透過的なアプリケーションフェイルオーバーについて読んでいますが、私が見つけたサイトは、選択したクエリのみが透過的にフェイルオーバーでき、他のすべてのタイプのクエリでは例外がスローされ、クエリを再実行する必要があることを示唆しています。データベースクエリを作成するコードベースのすべての部分に余分な例外処理を追加したくないので、これは避けたいと思います。