我正在使用Eclipse Galileo和Tomcat 6.0。我收到这样的错误:
2010-08-17 00:09:42,684,JDBCExceptionReporter,WARN,,SQL Error: 0, SQLState: null
2010-08-17 00:09:42,684,JDBCExceptionReporter,ERROR,,Cannot create PoolableConnectionFactory (ORA-01033: ORACLE initialization or shutdown in progress
)
2010-08-17 00:09:42,684,SettingsFactory,WARN,,Could not obtain connection metadata
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-01033: ORACLE initialization or shutdown in progress
)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82)
我将ojdbc14-9.2.0.8.jar
放在Tomcat lib
文件夹中,以及Tomcat webapps
文件夹中的部署文件夹。
任何人都知道造成这种情况的原因是什么?
答案 0 :(得分:1)
ORA-01033: ORACLE initialization or shutdown in progress
这表示DB正在启动或关闭,无法建立与此DB的连接。
检查您的数据库实例是否已启动。如果没有,那么在再次尝试程序之前从sqlplus提示符调用“startup”。
如果您使用SQLDeveloper,您还可以检查是否使用它连接到数据库。
很少有链接解释ora代码:
http://ora-01033.ora-code.com/
http://www.dbmotive.com/oracle_error_codes.php?errcode=01033
答案 1 :(得分:0)
这是在服务器启动时发生的(也许是tomcat和oracle在同一台服务器上的开发环境)? Tomcat通常比数据库启动得更快,因此很可能在数据库准备好之前尝试连接。
您(或您的DBA)应该能够运行以下查询以显示数据库何时启动。警报日志将是确定启动所需时间的地方。如果它突然关闭,它必须将重做日志应用于数据文件,然后才能允许其他会话连接。然后它必须回滚在关闭时未提交的任何事务,但它可以在此阶段处理其他会话。
从v $ instance;
中选择startup_time答案 2 :(得分:0)
我不确定发生了什么,但问题似乎已经消失了。我将所有项目的所有支持jar放入部署文件夹。不确定这是否与此相关或者我很幸运,但我现在没有收到此错误。 :)
答案 3 :(得分:0)
虽然此错误表示正在进行初始化或关闭,但此错误可能有很多原因。请在类似的帖子中查看我的回答 - https://stackoverflow.com/a/20444726/2789764