システム開発ブログ

【Oracle】共有プールのキャッシュを消したい!!でもどうすれば...

山岡

山岡 (2011年11月18日 19:31)
産業システム部 / システム開発事業部 / Oracle


「共有プールのキャッシュを消したい!!でもどうすれば...」

そんな経験に出くわしたことはありませんか?

24時間365日長期運用を行なっているシステムや、
多種多様なSQLがガンガン実行されるシステムに携わっていると、
稀に共有プール内のメモリ断片化の影響でパフォーマンスが著しく低下することがあります。
そんなときはどうすればよいでしょう?

もっとも簡単な方法はキャッシュをクリアしてクリーンな状態にすることです。
もちろん、クリーンな状態になるので、共有プール内で保持していたSQLの解析結果はなくなってしまいます。
再度システムを運用していって、共有プールに情報を蓄積していかなくてはなりません。
その点が考慮すべき箇所になりますので、ある意味最後の手段かもしれませんが、
パフォーマンスがどうしようもないときの切り札の1つとしては知っておいて損はありません。

そんな"おまじない"がこちらです。

> ALTER SYSTEM FLUSH SHARED_POOL;

とても簡単ですね。
えてして最後の切り札というものはシンプルなものです。

ちなみにもう少し補足すると、SQL*PlusでSYSでログインして実行します。
実行後は、データベースを再起動する必要はありません。
Oracle10gから使うことができます。

システムのトラブル解決を承ります。すぐにシステムリフォームを体験できますシステム診断・システムリフォームのお申し込みはこちらから。

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

ページのトップ