Oracle9i RAC 包含了全部在一个集群配置中工作并负责提供持续的可用性的所需组件—当集群中的一个参与系统出现故障时,用户可以自动移植到其它的可用系统上。 Oracle9i RAC 的一个负责故障切换处理的主要组件是透明应用程序故障切换 (TAF) 选件。所有释放连接的数据库连接(和过程)都被重新连接到了集群中的另一个节点上。故障切换对用户是完全透明的。
下面是通过JDBC实现的透明应用程序故障切换的代码片断
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST =(LOAD_BALANCE = yes)
(ADDRESS=(PROTO =TCP)(HOST=node1)(PORT=1521))(ADDRESS=(PROTO =TCP)(HOST=node2)(PORT=1521))
(ADDRESS=(PROTO =TCP)(HOST=node3)(PORT=1521))(ADDRESS=(PROTO =TCP)(HOST=node4)(PORT=1521))
(CONNECT_DATA =(SERVICE_NAME = oracleServerName)(failover_mode = (type = select)
(method = basic)(retries = 20)(delay = 15)))))";
String user="userName";
String password="userPassword";
conn= DriverManager.getConnection(url,user,password);