【发布时间】:2011-09-14 10:15:01
【问题描述】:
由于数据库不可用而关闭的jdbc连接能否恢复。
为了回馈背景,我依次收到以下错误。它看起来不像是手动重新启动。我的问题的原因是我被告知该应用程序在没有 重新开始。因此,如果连接丢失,是否可以在数据库重新启动后恢复。
java.sql.SQLException: ORA-12537: TNS: 连接关闭
java.sql.SQLRecoverableException: ORA-01034: ORACLE 不可用 ORA-27101: 共享内存领域不存在 IBM AIX RISC System/6000 错误:2:没有这样的文件或目录
java.sql.SQLRecoverableException: ORA-01033: ORACLE 初始化或关机正在进行中
【问题讨论】:
-
而不是仅仅打开一个新的连接?
-
您是否在整个应用程序的生命周期内保持连接打开?那很糟。它们应该在尽可能短的范围内打开和关闭,最好在您执行 SQL 查询的同一方法块内。
-
不,事实并非如此,它们正在被关闭,而我确实使用了连接池。我在日志中发现了异常,并试图破译可能发生的事情。请记住,该应用程序之后运行良好。希望这可以澄清。
-
也许您的连接池没有正确配置来测试借用连接和删除废弃连接?例如,糟糕的 DBCP 池默认情况下不会这样做。您可能希望在问题中添加有关使用的连接池及其配置的更多详细信息。