oracle清除sql的缓存

在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

原文地址:https://www.cnblogs.com/konglxblog/p/10112312.html