PHPのORA-03113エラーについて

 PHPの持続的接続(Persistent Connection)を行うOCI関数OCI_PLogonを使っていると、

nativecode=ORA-03113: end-of-file on communication channel 

というエラーが発生することがあります。 この原因はメッセージの通り、 Webサーバ(Apache)からデータベースサーバ(Oracle)に持続的な接続が作成された状態で、 データベースサーバのダウン(またはバックアップなどによる計画的な再起動) が発生すると、接続が全て無効となり、データベースにアクセスできなくなるためです。 このエラーが発生した場合、 普通Webブラウザをリロードすると接続が再作成されてこのエラーが解消されますが、 それをエンドユーザに見せるのは好ましくありません。 そのため、対策として、
  • データベースサーバが再起動すると、Webサーバも忘れずに再起動するように運用スケジュールを立てる
  • DB接続をラップするルーチンを開発し、 このエラーで接続に失敗すると自動的に再接続を試すようにする
などの手が考えられます。

Open Source Web Architecture Top

(first uploaded 2003/08/04 last updated 2003/08/04, URANO398)

PC用眼鏡【管理人も使ってますがマジで疲れません】 解約手数料0円【あしたでんき】 Yahoo 楽天 NTT-X Store

無料ホームページ 無料のクレジットカード 海外格安航空券 ふるさと納税 海外旅行保険が無料! 海外ホテル