[解決済み] ORA-12519 (TNS: no appropriate handler found) エラーが断続的に発生する原因について
質問内容
Oracle 10データベースの前でWeblogic 9に対するJunit 4テストスイートを実行していますが(継続的インテグレーションサーバーとしてHudsonを使用)、スクリプトのティアダウン中にORA-12519クラッシュが発生することがあります。 しかし、このエラーは非常に断続的です。
- 通常、同じTestクラスで発生する
- 同じテストケースで必ず起こるとは限らない(パスする場合もある)
- 同じ数のテストケースで発生しない(3~9個まで)。
- 全く発生せず、すべて合格することもある
ローカルでこのようなことが起こらないとは断言できませんが(もちろん同じデータベースに対して実行した場合)、同じクラスのスイートを複数回実行しても問題はありません。
何か思い当たることはありますか?
解決方法は?
これがみんなの答えになるかどうかはわからないが、いろいろ調べた結果、以下のようなことがわかった。
このエラーは明らかにリスナーが接続を受け付けなかったことが原因ですが、他のテストでは問題なく接続できる(sqlplusでも問題なく接続できる)のに、なぜこのようなエラーが発生するのでしょうか? 問題の鍵は、接続できないことではなく、それが 断続的
いくつかの調査の後、クラスのセットアップ中に作成された静的データがあり、テストクラスの存続のためにオープンな接続を維持し、その都度新しい接続を作成することがわかりました。 このクラスがスコープ外に出たときにすべてのリソースが適切に解放されたにもかかわらず (もちろん finally{} ブロックによって)、実行中にこのクラスがすべての利用可能な接続を飲み込んでしまうケースがありました (OK, 悪い習慣警告 - これはプールを使用せずに直接接続するユニットテストコードだったので、同じ問題は本番環境で起こりえませんでした)。
修正方法は、そのクラスを静的にしてクラスセットアップで実行するのではなく、メソッドごとのsetUpとtearDownのメソッドで使用することでした。
もし、自分のアプリでこのエラーが発生したら、その不良品にプロファイラを適用して、接続リークがあるかどうか確認してください。 お役に立てれば幸いです。
関連
-
オラクル表領域拡張の詳細
-
ODBC sqlserverデータソースに接続するためのOracleの詳細な手順
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ORA-01849: 時間は 1 から 12 の間でなければなりません。
-
[解決済み] ORA-30036: アンドゥ テーブルスペース 'UNDOTBS' でセグメントを 8 つ拡張できません。
-
[解決済み] PLS-00306:Oracle SP の呼び出しで引数の数または種類が誤っている。
-
[解決済み] オラクル ユーザーデータでConnect By Loop
-
[解決済み] SQLステート [72000]; エラーコード [14300]; JDBCバッチアップデートを実行できませんでした。
-
[解決済み] 1行のみ追加 "ORA-02290: チェック制約 (SYS_C0012762) 違反 ORA-01403: データが見つかりません"
-
[解決済み] ORA-01747:user.table.column, table.column, または column の指定が無効です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
オラクルデータベースに付属するすべてのテーブル構造を説明する(sqlコード)
-
Oracleで読み取り専用アカウントを作成する詳細手順
-
[解決済み] ORA-00900: 無効な SQL 文 - Oracle 10g のプロシージャを実行するとき
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ORA-01799: 列がサブクエリに外部結合されていない可能性があります。
-
[解決済み] SQLステート [72000]; エラーコード [14300]; JDBCバッチアップデートを実行できませんでした。
-
[解決済み] ORA-04063: パッケージ本体 "WB_PROD.PLOG" にエラーがあります。
-
[解決済み] 1行のみ追加 "ORA-02290: チェック制約 (SYS_C0012762) 違反 ORA-01403: データが見つかりません"
-
[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー
-
[解決済み] ORA-4031 "unable to allocate x bytes of shared memory" を解決する。