在Oracle9i里,Oracle提供了一個內部事件,用以強制刷新Buffer Cache,其語法為:
alter session set events 'immediate trace name flush_cache level 1';
或者:
alter session set events = 'immediate trace name flush_cache';
類似的也可以使用alter system系統級設置:
alter system set events = 'immediate trace name flush_cache';
在Oracle10g中,Oracle提供一個新的特性,可以通過如下命令刷新Buffer Cache:
alter system flush buffer_cache;
===============================
問題:
性能測試的時候,遇到第一次讀取數據庫很慢,以后幾次都瞬間讀取完成。
應該是Oracle緩存的作用,第一次讀完以后放入緩存,以后讀取就很快了。
但是測試的時候這樣可不行。
解決方法:清除緩存
ALTER SYSTEM FLUSH SHARED_POOL
ALTER SYSTEM FLUSH BUFFER_CACHE
ALTER SYSTEM FLUSH GLOBAL CONTEXT
