最好的办法是在WEBLOGIC中配置GRIDLINK数据源。在应用中使用这个数据源。
创建GRIDLINK数据源的注意事项:
主要在于配置ONS和FAN功能,一定要启动FAN,如果不启用就不是GRIDLINK数据源了,而是一般的数据源。没有HA和LB功能。
配置ONS时可以不写wallet什么的,那个比较麻烦。
ONS的IP和端口号可以从RAC主机的
$GRID_HOME/opmn/conf/ons.config文件中得到。
文件内容如下:
[grid@hjracdb2 conf]$ cat ons.config
usesharedinstall=true
allowgroup=true
localport=6100 # line added by Agent
remoteport=6200 # line added by Agent
nodes=hjracdb1:6200,hjracdb2:6200 # line added by Agent
我们要指定的端口号是remoteport,一般是6200。
在应用中要使用这个数据源需要在WEB-INF目录下的web.xml中的</web-app>标签中添加如下内容:
<resource-ref>
<description>Primary database</description>
<res-ref-name>zcfx</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意<res-ref-name>标签中是数据源的JNDI名称。
说明:
<resource-ref>如果web应用由Servlet容器管理的某个JNDI Resource,必须在web.xml中声明对这个JNDI Resource的引用。
<resource-ref>
<description>DB Connection</description> //说明
<res-ref-name>jdbc/sampleDB</res-ref-name> //引用资源的JNDI名字
<res-type>javax.sql.DataSource</res-type> //引用资源的类名字
<res-auth>Container</res-auth> //管理引用资源的Manager
</resource-ref>
另外有一点需要注意:即便连接到的服务是服务端taf,但是在v$session中查到的会话属性中gridlink数据源连接的属性都是不支持Failover的。这说明gridlink的failover是通过ons实现的,而且要快很多,几乎感觉不到。
本文介绍了如何在WebLogic中配置GridLink数据源以连接RAC数据库,强调了启用FAN功能的重要性,以及从ons.config文件获取ONS设置。在应用中,需要在web.xml中声明对GridLink数据源的引用,实现高可用性和负载均衡。
1078

被折叠的 条评论
为什么被折叠?



