目前,我正在我的java服务器应用程序中面对ORA-27101。当它启动时,它正常工作了几天,然后出现故障和应用程序丢失。我只能在我的日志上看到这些ORAs。数据库有可能中断了一两个小时。但在这段时间之后,应用程序就再也没有出现过。重启后一切又好起来了。
所以我的问题是:是什么导致了应用程序的这种行为?当这个异常出现在我的应用程序中时,我必须做什么?重新启动是唯一的方法,还是我可以在应用程序中处理这个问题?
OS是Windows 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)发布于 2012-05-22 06:00:21
此错误意味着您的数据库已关闭。
ORACLE 01034:
不可用的原因: Oracle没有启动。可能的原因包括:- SGA需要比分配给它的空间更多的空间。
指向实例的操作系统变量定义不当.
操作:参考附带的消息,找出可能的原因,并纠正其他消息中提到的问题。如果已初始化Oracle,则在某些操作系统上验证Oracle是否已正确链接。请参阅特定于平台的Oracle文档。
造成此错误的原因有多种:
https://stackoverflow.com/questions/10696375
复制相似问题