Oracle RACは、ノード間の完全に透明なフェイルオーバーを許可していますか?

StackOverflow https://stackoverflow.com/questions/1498793

  •  19-09-2019
  •  | 
  •  

質問

私は、Hibernateを使用してOracle 10gの上で動作するアプリケーションを持っています。 Oracle RACを使用して、アプリケーション側で任意のコードを変更せずにデータベースの障害に対するアプリケーションの可用性を高めることが可能である場合、私は疑問に思ってます。

私は、アプリケーションのための2つのOracle RACノードを持つ、理想的にノードの一つのプラグを引っ張ると、アプリケーションは、アプリケーションコードに到達し、例外なしに、実行し続ける必要がありできるようにしたいと思います。

私のアプリケーションは、データベースにクエリを選択、挿入、更新を送信し、削除します。

私は、透過的アプリケーション・フェイルオーバーについて読んでてきたが、私が見つけたサイトでは、クエリのみを透過的にフェイルオーバすることができます選択していること、およびクエリの他のすべてのタイプは、例外がスローされる結果になることを意味するものとなるクエリが再します実行。私は、データベースクエリを作る私のコードベースのすべての部分に余分な例外処理を追加したくないと私はむしろこれを避けるだろう。

役に立ちましたか?

解決

申し訳ありませんが、そうでもありません。あなたは、透過的アプリケーション・フェイルオーバー(TAF)を見ていると、Oracleは現在、SELECTステートメントが、何のためにTAFをサポートしていません。 DMLを再起動する必要があります。 で何RAC(およびTAF)の良い説明のために、このの記事を見てみましょうことができますあなたのために。

どんなにあなたがトランザクション障害を処理できるようにする必要があるとしているもの、。それは我々が取引を持っている理由の大きな理由です...私たちは優雅に失敗し、物事を処理することができます。だけでなく、(RACがあなたを守るものを)のみのトランザクションが失敗する可能性の理由の無数の一つであるハードウェア障害を実現します。

幸運、幸せなコーディング!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top