Oracleのキャッシュをクリアする方法

2009-2-1 07:00
このエントリーをはてなブックマークに追加

共有プール(SHARED POOL)をクリアする

定期的にシャットダウンできないような状態で運用しているオラクルサーバは、共有プールのメモリ断片化 によりパフォーマンスが低下することがあります。そのような場合、Oracle を再起動しなくても、次の方法で 共有プールのキャッシュをクリアできます。

  ALTER SYSTEM FLUSH SHARED_POOL;

共有プールからすべてのデータをクリアします。 共有プールにはデータディクショナリのキャッシュ情報や、SQL文、パッケージ、実行計画などが格納されています。

ただし、コマンド実行後は、実行中の SQL の再解析が実行されて一時的に遅くなる可能性があります。また、シーケンスオブジェクトのキャッシュもクリアされるので欠番が発生します。

データベース・バッファ・キャッシュのクリア

Oracle 9i では使えません。Oracle 10g 以降でのみ利用できる方法です。性能検証の際にバッファ・キャッシュに格納されたデータブロックを追い出すためにいちいち再起動する必要がなくなりました。

  ALTER SYSTEM FLUSH BUFFER_CACHE ;

すべてのバッファ・キャッシュがクリアされます。気をつけなければいけないのは、同一インスタンス上で実行中の全てのSQLに影響します。パフォーマンス測定などの開発・テスト環境でのみ使用しましょう。

SYSDBA 権限で実行します。

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

32 queries. HTML convert time: 0.083 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン