1

我目前在我的 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)
4

1 回答 1

1

此错误表示您的数据库已关闭。

ORA-01034 ORACLE 不可用原因:Oracle 没有启动。可能的原因包括: - SGA 需要的空间多于为其分配的空间。

  • 指向实例的操作系统变量定义不正确。

措施:请参阅随附的消息以了解可能的原因并更正其他消息中提到的问题。如果 Oracle 已初始化,则在某些操作系统上,验证 Oracle 是否已正确链接。请参阅特定于平台的 Oracle 文档。

此错误有多种原因:

  1. 服务器崩溃
  2. 某些数据库操作导致数据库处于不稳定状态。
  3. 没有足够的空间
于 2012-05-22T06:00:21.033 回答