开始就昏了,RAC -REAL APPLICATION CLUSTER,有两种翻译:实时应用群集 和 真正应用集群,还是叫RAC好,就是RAC。
      RAC是具有获奖潜力的 Oracle 数据库企业版的一个选件。Oracle RAC 是一个具有共享高速缓存体系结构的集群数据库,它克服了传统的不共享和共享磁盘方法的限制,为您所有的业务应用程序提供了一种具有较高可伸缩性和可用性的数据库解决方案。
 Oracle 数据库 标准版包含了面向更高层次系统运行时间的真正应用集群支持。
     这两天忙着配置我们自己的应用程序以支持ORACLE RAC,终于配置成功了,知其然然后知其所以然,就找了相关的ORACLE RAC文档给大家分享一下。

1,首先推荐oracle 10g rac 白皮书
http://www.oracle.com/technology/products/database/clustering/pdf/TWP_RAC_Overview_10gR1_112503.pdf
2,RAC介绍
什么是Oracle 实时应用群集 (RAC) - Oracle RAC是Oracle的一种并行数据库群集技术,是Oracle9i企业版的一个选项。
RAC从技术和商业角度使IT机构获得如下竞争优势:
高可扩展性: RAC使一个共享存储支持的活动群集,通过它多台服务器可平行工作于共同的数据上。通过一个群集内部连接技术-CacheFusion,
高达8台数据库服务器节点使用SCSI或光纤通道技术通过一个独立的Gigabit1 内部连接器相连,共享数据库存储。
使客户可以用低成本的小群集开始部署并随着需求的增大而不断加入节点。Dell所能支持的最大配置是8台PowerEdgeTM  8450服务器(每台8 CPU, 16GB内存),
可提供64-CPU的数据库系统和高达128GB(每台16GB)的服务器节点共享内存。
高可用性: RAC, 除了提供所需性能和协调单个服务器工作外,同时提供容错功能以保证系统最大的正常工作时间。经过Dell,
Oracle和EMC共同研究实现了群集的完全冗余,让数据库在某个群集组件(服务器、交换机、磁盘、内部连接器等)失效的情况下能继续正常工作。
一份Dell白皮书"Oracle RAC失效模式及影响分析"阐述了群集在破坏性测试中的表现和恢复。该白皮书即将在Dell | Oracle最佳应用中心上提供下载。
Dell和EMC同样也提供了灾难性恢复高级解决方案,例如RAC备份策略、快照和镜像方案来远程遥控提供保护。
3,ORACLE RAC安装
就不看了,有兴趣可以看看
http://www.unixblog.net/index.php?blog=6&cat=25&page=1&disp=posts&paged=2
4,ORACLE RAC应用配置

我用的是WebSphere下的配置


一、 在WebSphere应用服务器所在的操作系统上安装oracle9i客户端。
二、 配置Oracle本地命名服务
的两台Oracle数据库IP为
10.1.7.37:1521:ora9i1
10.1.7.38:1521:ora9i2
配置后tnsname.ora的格式为
ora9i =  (DESCRIPTION =    (ADDRESS_LIST = (LOAD_BALANCE = on)      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.7.38)(PORT = 1521))      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.7.37)(PORT = 1521))    )    (CONNECT_DATA =      (SERVICE_NAME = ora9i)    )  )
三、 在WebSphere管理控制台中
3.1 资源->JDBC提供程序
添加一个JDBC提供程序,名称为rac
3.2 为名称为sxsc的提供程序定义两个"数据源",分别命名为epsa/ept_user,数据源的JNDI名分别为jdbc/epsa,jdbc/ept_user,这两个数据源的"定制属性"页面的URL值为"jdbc:oracle:oci8:@ora9i"。
【注意】我们也可以不用oci 驱动,而是适用thin驱动,优点是不用安装oracle客户端了,此时数据源定制属性URL值应该为:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.7.38)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.7.37)(PORT = 1521))(LOAD_BALANCE = on))(CONNECT_DATA =(SERVICE_NAME = ora9i)))

3.3 环境->管理Websphere变量,增加一个"ORACLE_JDBC_DRIVER_PATH"变量,值为oracle客户端安装目录的jdbc\lib目录。
3.4 安全性->JAAS配置->J2C认证数据,增加两个命名,分别为epsa,ept_user,将数据库用户名和密码录入。
3.5 资源->JDBC提供程序,分别选中两个数据源,将"组件受管认证别名"和"容器受管的认证别名"分别设置为两个J2C认证数据。
【注意】步骤三操作过程可以参考网址
http://www-128.ibm.com/developerworks/cn/websphere/library/techarticles/fanggw/0406_was5ds/was5ds.html?ca=dwcn-newsletter-wsdd
四、C:\windows\system32\drivers\etc 下的hosts文件,增加
10.1.7.37 rx7620a
10.1.7.38 rx7620b

四、 修改程序的配置文件以使通过JNDI别名jdbc/epsa和jdbc/ept_user访问数据库。

五、 验证和存在的问题
通过5.1和5.2的试验,证明RAC配置已经成功,但是还有部分问题,可能需要在实际的应用环境下调整。
5.1 sqlplus ept_user@ora9i登陆,select * from v$instance,应该能够随机显示37和38两个服务器的实例名。(实际不是如此,原因有待分析)。
5.2 在应用程序中一次申请30个连接,应该均衡分布在37,38两台机器上,实际效果是虽然两台机器都有,但是分布不均衡,可能是用同一个客户端连接的原因。
5.3 JDBC oci driver 和JDBC thin driver