Posted on 2007-12-30 21:51
leekiang 閱讀(1046)
評論(0) 編輯 收藏 所屬分類:
oracle
?? 企業(yè)要求它們的企業(yè)應用程序有 99.99% 或者甚至 99.999% 的可用性是很常見的。考慮一下要確保全年不超過 0.5 小時的停機時間或者甚至沒有停機時間將花費多大的代價。為了回應這些大量的高可用性需求,企業(yè)正投資于在一個參與系統(tǒng)出現(xiàn)故障時能夠提供自動故障切換的機制。當考慮 Oracle 數(shù)據(jù)庫的可用性時,Oracle9i RAC 提供了一個擁有高級故障切換機制的優(yōu)越的解決方案。
???? Oracle9i RAC 包含了全部在一個集群配置中工作并負責提供持續(xù)的可用性的所需組件—當集群中的一個參與系統(tǒng)出現(xiàn)故障時,用戶可以自動移植到其它的可用系統(tǒng)上。 Oracle9i RAC 的一個負責故障切換處理的主要組件是透明應用程序故障切換 (TAF) 選件。所有釋放連接的數(shù)據(jù)庫連接(和過程)都被重新連接到了集群中的另一個節(jié)點上。故障切換對用戶是完全透明的。
??? 下面是通過JDBC實現(xiàn)的透明應用程序故障切換的代碼片斷
???? //Author : newall Date 2005-08-05 14:41?
???? 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);