問題
- サーバーは、以下の例外 java.sql.SQLRecoverableException でダウンしています。 この例外を引き起こす可能性のある根本原因は何ですか?
2021-10-12 10:25:54,807 SEVERE [Common.CommonUtils] (default task-48) null: java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:445)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:464)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:594)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:229)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
... 48 more
Environment
- Liferay DXP 7.0、データベース、サードパーティ ツール
解決策
- 上記のスタック トレースのスニペットは、データベース リスナーが Liferay との接続をリッスンしていないときに発生したようです。
-
このケースの可能性が高いシナリオ例を説明すると、
- ノードの1つがダウンしているときにこのエラーがスローされる可能性がある場合、データベースのフェイルオーバー後にLiferayが失敗する理由は、Liferayがデータベースサーバーに対して接続プールを構築し、システムが稼働している間それを維持するためです.
- データベース クラスタが単一の堅牢なデータベース サーバーとしてバックグラウンドで動作する場合、問題は発生しません。
- 接続がレプリケートされていない場合でも、ノードの 1 つがなくなると、接続プールからの接続が使用できなくなり、ログで接続が閉じられていることがわかります。
- これは、システムがデータベース接続が機能していないままであり、再起動せずに Liferay ができることは何もないことを意味します。
- さらに、DBサービスが再起動された場合、アプリケーションサーバーはDBサービスの再起動時に解放される特定のエントリのロックを有効にする必要があるため、Liferayを再起動してDB接続を再確立する必要があります。
java.sql.SQLRecoverableException: Closed Connection
-
同じものに対して、以下のように異なる可能性があります:
1) データベース サービスが実行されていないか、アクティブでないか、またはその時点で十分な接続がありません。
2) ネットワークの停止
3) 他のコンポーネント [ファイアウォール、ネットワーク デバイス、仮想マシン、ロード バランサー] が関係している可能性があります。これにより、一定期間非アクティブになった後、ネットワーク接続が強制的に閉じられる可能性があります。
追加情報
- 相互検証するには、ネットワークの専門家である DBA チームに連絡して、接続がアクティブであることを確認してください。応答がないことを確認したときにデータベースに問題があるかどうかを監視して、十分な接続があることを確認してください。 これは、環境アーキテクチャに基づいて設定する必要がある適切なパラメーターまたは構成を確認するのに役立ちます。 建築支援に関するサポート ポリシーにより、サポート チームは特定のガイダンスを提供することが制限されていることに注意してください。
-
あなたに洞察を与えるかもしれない同様のケースの非公式スレッド. これらはLiferayによって文書化されていないため、独自の裁量でそれに従うことを選択してください: