最近、私たちはこれまでに知っている1つのクエリでOracleデータベースがロックアップする問題を抱えています。
起こっていることの内訳をお伝えしますが、実際には私の質問とはあまり関係ありませんが、提案は受け付けています。
断続的に、それがいつ発生するのかがわかりません。過去1か月に4回発生し、ユーザーがアプリケーション内の何かをクリックします。ユーザーがクリックしているものはまだ不明です。クリックすると、約70万行を生成するデータベースでクエリが実行されます。
クエリが実行されているテーブルをチェックしました。インデックスは適切に見えます。
データベースは60GBで、サーバーには32GBがあります。
データベースサーバーのログから、高いI / Oが表示されますが、CPUとRAMは同じままです。
1つのアプリケーションサーバー、CPUは約75%まで上がります。ワーカープロセスとPIDを見つけることはできますが、ワーカープロセスに関連付けられているPIDを強制終了すると、CPUが短時間停止し、その後すぐに元に戻ります。
また、アプリケーションプールをリサイクルし、IISを再起動しても同じことが行われ、CPUが短時間停止した後、すぐに元に戻ります。
サーバーを元の状態に戻すためにできる唯一のことは、再起動です。
したがって、このクエリがロックアップの原因である場合の私の提案は、データベースをキャッシュしてメモリが不足するように、ボックスのメモリを増やすことができます。これは一度聞いたことがありますが、本当かどうかはわかりません。
ストレージは3層のHP PAR 3であり、データベースはほとんどSSD層にあります。
どちらが高速なSSDまたはメモリですか