我有一个拥有RAC环境的客户(2个节点,数据库版本为11gR2)。
集群件版本:
[grid@server2 ~]$ crsctl query crs releaseversion
Oracle High Availability Services release version on the local node is [11.2.0.4.0]
[grid@server2 ~]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [11.2.0.4.0]它们的应用程序没有正确地使用TAF (透明应用程序故障转移)
经过一些研究之后,我使用摇摆板进行了测试,并在我的实验室环境中发现了相同的行为:
INST_ID USERNAME SERVER SERVICE_NAME PROGRAM STATUS FAILOVER_TYPE FAILOVER_M FAI
---------- ---------- --------- -------------------- -------------------- -------- ------------- ---------- ---
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod sqlplus.exe INACTIVE SELECT BASIC NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
1 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO
2 SOE DEDICATED mootdb_prod JDBC Thin Client ACTIVE NONE NONE NO使用上述TAF的唯一会话是从sqlplus (failover_type列)手动创建的会话。我在所有会话中都使用相同的tnsname别名。
为什么会发生这种事。在应用程序端是否也有一些要求,因为它的工作正常?
发布于 2020-08-04 22:29:58
输出显示会话使用“瘦”驱动程序(JDBC瘦客户机),它不能使用TAF。
透明应用程序故障转移(TAF)是Java数据库连接(JDBC) Oracle调用接口(OCI)驱动程序的一个特性。
有时,JDBC驱动程序也被称为“粗”驱动程序。
下面是一个关于这个主题的博客系列:
https://blog.yannickjaquier.com/oracle/jdbc-client-high-availability-features-part-1.html
第二部分是关于TAF的:
https://blog.yannickjaquier.com/oracle/jdbc-failover-highly-available-part-2.html
确保将swingbench配置为使用oci驱动程序类型。它有-dt oci命令行选项。还要确保在故障转移选项和地址中使用正确的连接字符串。
https://dba.stackexchange.com/questions/273224
复制相似问题