1

現在、Java サーバー アプリケーションで ORA-27101 に直面しています。起動すると、数日間は問題なく動作しましたが、その後障害が発生し、アプリケーションが失われました。これらの ORA はログにしか表示されません。データベースが 1 ~ 2 時間ダウンしていた可能性があります。しかし、その期間が過ぎても、アプリケーションが復活することはありませんでした。再起動後、すべてが再び正常になりました。

私の質問は次のとおりです。アプリケーションのそのような動作の原因は何ですか? この例外がアプリケーションに表示された場合、どうすればよいですか? 再起動が唯一の方法ですか、それともアプリケーション内でこれを処理できますか?

OS は 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 に答える