最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle如何强制刷新BufferCache

来源:动视网 责编:小采 时间:2020-11-09 10:53:42
文档

Oracle如何强制刷新BufferCache

Oracle如何强制刷新BufferCache:在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: 在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: alter session set events 'immediate trace name flu
推荐度:
导读Oracle如何强制刷新BufferCache:在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: 在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: alter session set events 'immediate trace name flu


在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为:

在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';

在Oracle 10g中,Oracle提供一个新的特性,,可以通过如下命令刷新Buffer Cache:

alter system flush buffer_cache;

我们通过试验来看一下刷新Cache的作用:


1.创建测试表

SQL> create table t as select * from dba_objects;Table created.SQL> analyze table t compute statistics;Table analyzed.SQL> select blocks,empty_blocks from dba_tables
2 where table_name='T' and owner='SYS'; BLOCKS EMPTY_BLOCKS
---------- ------------
78 1

表T共有79个Block.

2. x$bh


SQL> select count(*) from x$bh; COUNT(*)
----------
14375SQL> select count(*) from x$bh where state=0; -- state =0 is free COUNT(*)
----------
13960SQL> alter system set events = 'immediate trace name flush_cache';System altered.SQL> select count(*) from x$bh where state=0; COUNT(*)
----------
14375


我们注意到flush_cache以后,所有Buffer都被标记为free.

3. 观察flush_cache对于查询的影响


SQL> set autotrace trace stat
SQL> select count(*) from t;Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
81 consistent gets
79 physical reads
0 redo size
....SQL> SQL> select count(*) from t;Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
81 consistent gets
0 physical reads
0 redo size
....SQL> alter system set events = 'immediate trace name flush_cache';System altered.SQL> select count(*) from t;Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
81 consistent gets
79 physical reads
0 redo size
....SQL>


以上说明仅供参考。

文档

Oracle如何强制刷新BufferCache

Oracle如何强制刷新BufferCache:在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: 在Oracle9i里,Oracle提供了一个内部事件,用以强制刷新Buffer Cache,其语法为: alter session set events 'immediate trace name flu
推荐度:
标签: oracle ora bu
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top