步骤二_WEB工程的部署
部署工程后,发现起动时,出现数据库连接不上的问题,一直在查找是不是数据库的SERVICE_NAME没有配置好,还是数据库的地址没有影射的问题;修改了N遍的TNSNAMES之后,发现数据库并没有问题。
那么错误可能是处在中间件TOMCAT上面了,当时自己使用的环境是JDK1.6,而工程的运行环境是1.4,所以有可能出错的地方是:
1. JDK的版本错误;
2. TOMCAT起动时,我是以SU,系统管理员的用户起动的,而不是当前的登陆用户--ORACEL来起动的,所以担心是执行了系统管理员的环
境配置文件,而没有执行当前登陆用户ORACLE用户的环境配置文件(该文件中包含了ORACLE客户端的参数配置信息);
3. ORACLE 10 g 的监听没有配置好,是不是需要修改监听器对应的数据库的服务实例;
经过几天的测试,工程起动成功,具体修改措施如下:
1. 更换JDK的版本为1.4
2. 以用户ORACLE登陆,重新下载一个TOMCAT(当然是可以运行在JDK1.4上面的)版本,以ORACLE用户起动该TOMCAT,部署工程;
3. 监听器还原为原来安装时的参数配置,然后起动,接着数据库起动;
总结:
JDK版本错误
TOMCAT起动时执行的用户环境参数中需要有ORACLE客户端的配置---因为需要使用此客户端去连接oracle数据库服务器
-------oracle用户环境参数-------------
# oracle setup by changming.yang since 2009.9.12
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=MIS; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
遗留问题:
起动后,仍然有错误信息,但是并不影响系统的使用,估计是web工程中存在某个其他的数据源的连接造成的
<2009-09-26 10:37:57,952> ERROR (JDBCExceptionReporter.java:58) [main] (net.sf.hibernate.util.JDBCExceptionReporter) - Cannot create PoolableConnectionFactory (Io exception: The Network Adapter could not establish the connection)
<2009-09-26 10:37:57,960> WARN (SettingsFactory.java:107) [main] (net.sf.hibernate.cfg.SettingsFactory) - Could not obtain connection metadata
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io exception: The Network Adapter could not establish the connection)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:65)
at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84)
at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1172)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:803)
at org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:436)