JDBC访问Oracle 12c RAC数据库保证高可用,应该使用TAF还是FCF?

Har*_*han 3 oracle rac oracle-12c

我遇到的情况是,如果 RAC 阵列上的某个数据库突然宕机,则事务会回滚,并且 JBoss 和数据库之间的连接会中断。

我想要的是保留 JDBC 连接并将它们重定向到阵列上的另一个 oracle 数据库。另外,交易可以保留吗?

在这种情况下,我应该使用 TAF 还是 FCF?

另外,如果建议使用TAF,那么JBoss 中是不是一定要使用thick driver?

ato*_*pas 7

在这种情况下,我应该使用 TAF 还是 FCF?

TAF-透明应用程序故障转移是一种数据库会话级连接故障转移机制,仅适用于 OCI 客户端。

FCF-Fast Connection Failover 是一种应用级的故障转移机制。这取决于隐式连接缓存功能,并且必须启用隐式连接缓存。

TAF 对于长时间运行的会话非常有用,而 FCF 对于池连接很有用。

我想要的是保留 JDBC 连接并将它们重定向到阵列上的另一个 oracle 数据库。另外,交易可以保留吗?

TAF 将故障转移在节点崩溃期间捕获的标准 SQL SELECT 语句。TAF 不支持涉及 INSERT、UPDATE 或 DELETE 语句的事务。

另外,如果建议使用TAF,那么JBoss 中是不是一定要使用thick driver?

是的。

参考:

  • 客户端故障转移最佳实践 - Oracle
  • 了解快速连接故障转移的工作原理
  • TAF 和快速连接故障转移的比较