2011-08-04 26 views
1

私はwebをphp(4.3.9)で作成しました。これはoracle DB(10g)に接続しています。ユーザーはクエリを送信して結果を見ることができます。時々私は、Webアプリケーションでエラーが発生しました:未使用の接続を強制終了する方法

にociplogon():_oci_open_server:ORA-12516:TNS:リスナーは

ユーザーがログインして実行することはできませんマッチングプロトコルスタックで使用可能なハンドラを見つけることができませんでしたクエリ。 httpdのリセット後、webは正常になります。

グーグル後、私が見つかりました:

ので、私はそこにいくつかの死者/未使用の接続がDBにあり、リセットにより清掃されていると思うのOracleへの接続の最大限界を
  • に達したため
    • このエラーが発生しますHTTPDの
    • ユーザーは、永続
    • "がOCILogoff()は現時点では何もしません..."(bugs.php.net/bug.php?id=11234
    あるPHPのコマンドにociplogonによって接続されています

    未使用/デッド接続をクリーニングする方法はありますか?タイムアウトをいくつか設定しますか?

  • 答えて

    1

    これは、指定された操作を実行した後で、DBへのオープンな接続が多いためです。

    OCIへの接続の詳細は、oci_closeDocsを参照してOCI接続をクローズする方法、oci_connectDocsを参照してください。

    +0

    oci_closeはphp5以上です。 ocilogoff()はoci_closeの前身です。私はこのバグを見つけました:「OCILogoff()は現時点で何もしません...」(https://bugs.php.net/bug.php?id=11234) – erik

    関連する問題