我目前在我的 java 服务器应用程序中面临 ORA-27101。当它开始时它工作了几天,然后出现故障并且应用程序丢失了。我只能在我的日志中看到这些 ORA。数据库可能关闭了一两个小时。但在那段时间之后,该应用程序也再也没有恢复运行。重新启动后一切都很好。
所以我的问题是:是什么导致了应用程序的这种行为?当此异常出现在我的应用程序中时,我该怎么办?重新启动是唯一的方法还是我可以在应用程序中处理这个?
操作系统是 Windows Server 2008,Oracle 数据库是 11g。我正在使用 oracle jdbc 驱动程序和通用连接池来管理多个连接。
最后是堆栈跟踪:
java.sql.SQLException: Exception while getting connection: oracle.ucp.UniversalConnectionPoolException: cannot get connection from datasource: java.sql.SQLRecoverableException: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:488)
at oracle.ucp.util.UCPErrorHandler.throwSQLException(UCPErrorHandler.java:163)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:928)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:863)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:855)