梦回编程-JBOSS下的OCI配置

简介:
以前一直用thin的方式来连接Oracle,现在需要使用oci的方式,听说性能要好些。
于是从jdbc:oracle:thin:@10.1.1.2:1521:dev-dbc改成:jdbc:oracle:oci8:@dev-dbcommon
我的环境是Ubuntu9.04,JBOSS1.4,Oracle 10.0.2,OCI
OCI方式(Oracle Client Interface):一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。
有两种方式可以得到OCI的
方式一、安装Oracle 客户端
方式二、下载OTN的instant client(http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html)
方法一我尝试了N次没有成功,估计是Ubuntu安装Oralce Client版本问题
成功的是使用方式二:

1)下载 oracle-instantclient-basic-10.2.0.4-1.i386.zip (?) ,  oracle-instantclient-devel-10.2.0.4-1.i386.zip (?)
解压到目录:/opt/instantclient_10_2
2)配置环境变量:
ORACLE_HOME=/opt/instantclient_10_2
TNS_ADMIN=$ORACLE_HOME(貌似这个变量还是需要的,否则好像仍然会找不到tnsnames.ora,报TNS的错误)
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export 
ORACLE_HOME
export TNS_ADMIN
export 
LD_LIBRARY_PATH(这个变量貌似不用配置,对应java.library.path,后面讲)
3)设置classes12.jar和ojdbc.jar:
cp classes12.jar和ojdbc.jar到
 /opt/jboss/server/default/lib下
4)配置tnsnames.ora:
在instantclinet_10_2下增加tnsname.ora文件:
dev-dbcommon=
(description=
(address_list=(address=(protocol=tcp)(host=db.dev.dbc.taobao.net)(port=1521)))
(connect_data=(service_name=dev-dbc)(server=dedicated))
JBoss启动过程中出现了几个问题:
问题一:java.lang.UnsatisfiedLinkError: no XXX in java.library.path
解决方法:查看Jboss启动脚本
JBOSS_NATIVE_DIR=”$JBOSS_HOME/bin/native”
修改成:JBOSS_NATIVE_DIR=”/opt/instantclient_10_2″
问题二:java.sql.SQLException: ORA-12154: TNS:could not resolve the connect identifier specified
解决方法:配置TNS_ADMIN
但是有个比较奇怪的问题是必须用root用户登录后,启动Jboss,TNS才没有问题,估计是文件的权限问题。









本文转自 神相 51CTO博客,原文链接:http://blog.51cto.com/shenxiang/269200,如需转载请自行联系原作者
目录
相关文章
|
Web App开发 安全 Linux
|
应用服务中间件 安全 网络安全
jboss eap 6.3 域(Domain)模式配置
jboss提供了二种运行模式:standalone(独立运行模式)、domain(域模式),日常开发中,使用standalone模式足已;但生产部署时,一个app,往往是部署在jboss集群环境中的,如果所有jboss server均采用standalone模式,会给运维带来极大的工作量,需要每台jboss server上逐一部署/更新,显然不适合。
1354 0
|
负载均衡 应用服务中间件 Linux
jboss eap 6.3 集群(cluster)配置
接上一篇继续,Domain模式解决了统一管理多台jboss的问题,今天我们来学习如何利用mod_cluster来实现负载均衡、容错。 mod_cluster是jboss的一个开源集群模块(基于apache 2.
1482 0