• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Oracle11gのレスポンス障害について)

Oracle11gのレスポンス障害について

このQ&Aのポイント
  • 社内WEBアプリのレスポンス障害が発生しました。障害の原因や対策を検討しています。
  • 現在サーバーの再起動を行ったところ、障害は一時的に解消しましたが、原因不明のままです。
  • 問題のあった環境はWindows2008 Server R2 Enterprise、Oracle Database 11g、httpd 2.2.20、PHP 5.2.14です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#212058
noname#212058
回答No.1

ORACLE の統計情報が適切に更新されていないのでは?

kozax05
質問者

補足

回答ありがとうございます。 統計情報の最終更新日ですがトランザクションテーブル等更新頻度が高いテーブルに関しては障害発生日の3日前に行われていました。 統計情報の取得タイミングですがデフォルトで行っていますので平日の夜間となっていました。 又、障害発生時に10カラム1レコードのテーブルを単純にselectするのに20秒程度かかっていましたし、2~3時間程度放置後、障害が解消されましたので統計情報の可能性は低いかもしれません。

その他の回答 (1)

noname#212058
noname#212058
回答No.2

回答No.1 です。 おそらく Disk busy (Table scan とか)が発生したのではないかと思って、最も原因となりやすい統計情報を挙げたのですけどね。「駄目クエリ」が Disk アクセスを占有して、その影響で他のアクセスが遅延したのかと。この場合、数時間放置して「駄目クエリ」の実行が終われば復活しますので、実際の現象と一致しますね。 質問者さんの情報では「Disk アクセス状況」と「問題発生時のクエリ実行状況(長時間実行されっぱなしのクエリがないか)」が無いので、直接的に確認するるべはありません。ORACLE でスロークエリを記録する機能を ON にしていれば、ログなどから確認できるかもしれませんが。 駄目クエリの発生原因には『そもそも駄目なクエリがシステムに実装されている。でも「稀にしか動かない」or「指定条件によってダメになる」特徴があるため気づきにくい』『統計情報が古くて、本来は正常に動くはずのクエリが駄目クエリになる』などが考えられます。どちらにせよ、駄目クエリが特定できないと究明は厳しいでしょうね。

kozax05
質問者

お礼

回答ありがとうございます。 確かにoracleを疑うのであれば実行中のクエリ等調査するべきでした。 引き続き原因調査したところクラウドサーバーのトラブルでレスポンス障害が発生していたものと判明いたしました。サーバーの振る舞いから見てoracleのみレスポンス障害が出ていたのでoracleと決め打ちしていたのが原因究明が遅れた原因となりました。shitaba様には色々と助言頂きありがとうございました。