データベース更新後、業務システムを使用していると突然CPUが100%になり、システムを使用できなくなる障害の対応ですが、業務システムの保守業者はデータベースに詳しくなく、解決できるかどうかもわからないため、データベースの専門業者に調査を依頼しました。
専門業者のアドバイスにより、データベースの動作を詳細に記録する仕組みを使い、どのSQL文でCPUが100%になっているかを調べ、該当するSQL文を見直したり、データベースのリソースの使用状況を調査してパラメータのチューニングを行ったりと対策を進めました。さらに専門業者は必ず行うということで、データベースの最新パッチを適用しました。
上記対策の結果、CPUが100%になる現象は出なくなりました。SQL文の見直しやパラメータのチューニングは、それなりに効果があったと思いますが、内容からするとCPU100%に直接関係はしてませんでした。それでは何がCPU100%を解決したのかということですが、それはデータベースのパッチ適用でした。
データベースにも多くのバグがあり、頻繁にパッチが出ています。どのバグが原因だったかまでは調べませんでしたが、いくつかの条件がそろった時に発生するバグが原因だったと思われます。データベースがエラーコードを出力している場合は、そのエラーコードから原因の調査及び対策を行うことができますが、今回のような場合は最新のパッチを適用することが重要な対策と言えると思います。ただしパッチには色々な改善内容が含まれてますので、業務システムのプログラムに影響がないか最低限のテストを行うことは必須です。