【问题标题】:Does Oracle RAC allow completely transparent failovers between nodes?Oracle RAC 是否允许节点之间完全透明的故障转移?
【发布时间】:2009-10-01 01:15:48
【问题描述】:

我有一个使用 Hibernate 在 Oracle 10g 上运行的应用程序。我想知道是否可以使用 Oracle RAC 使应用程序在数据库故障方面具有高可用性,而无需在应用程序端进行任何代码更改。

我有两个用于应用程序的 Oracle RAC 节点,理想情况下希望能够拔出其中一个节点的插头并让应用程序继续运行,而不会出现任何异常到达应用程序代码。

我的应用程序向数据库发送选择、插入、更新和删除查询。

我一直在阅读有关透明应用程序故障转移的信息,但我发现的网站暗示只有选择查询可以透明地故障转移,并且所有其他类型的查询将导致抛出异常并且必须重新查询执行。我宁愿避免这种情况,因为我不想为我的代码库的每个进行数据库查询的部分添加额外的异常处理。

【问题讨论】:

  • @ginsoakedboy - 你是对的,在回答之前我的大脑没有完全投入 - 已经删除了我的答案
  • 感谢参与@dpbradley - 那么你怎么看,你认为答案是否定的?恐怕是的,但我希望有人有一根魔杖:)
  • 恐怕你原来的研究是正确的:-(
  • // , PostGreSQL EDB 是否提供类似的功能? stackoverflow.com/questions/39479735/…

标签: oracle failover


【解决方案1】:

对不起,但不是真的。您正在查看透明应用程序故障转移 (TAF),而 Oracle 目前不支持 TAF,但 SELECT 语句除外。 DML 将需要重新启动。查看 this 文章,了解 RAC(和 TAF)可以为您做什么。

无论如何,您都需要能够处理事务失败。这是我们进行交易的一个重要原因......所以我们可以优雅地处理失败的事情。还要意识到,硬件故障(RAC 保护您免受)只是事务可能失败的众多原因之一。

祝你好运,编码愉快!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2013-12-30
    • 2019-10-20
    • 2012-06-20
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    相关资源
    最近更新 更多