DB性能対策

以前にもOracleデータベースの性能対策でメモリの設定を変更したのですが、今日も別のお客さんに「システムが遅くてやってられないよ!」と怒られてる後輩に頼まれて、メモリチューニングをやってきました。


まず、現状調査から。Oracle Database 10gを使用しているにもかかわらず、なぜか「手動メモリ管理」になってました。


じゃあ、各メモリ設定はちゃんとやってあるのか?と見てみると、これがまた根拠のない値で設定されていて、データベースバッファキャッシュのヒット率が45%という驚異的な低さを示していました。「こりゃあ、遅いはずだよー」と言いながら、「手動メモリ管理」から「自動メモリ管理」に変更して、SGA_MAX_SIZEを現在の値より倍以上にし、PGAも倍以上に設定しなおしました。


メモリ設定変更後、お客さんから、「システムが格段に早くなったよー!!」と喜んでもらえたのは良いものの、「なんで今まで遅かったの?」という問いかけに、一同沈黙。