oracle怎樣清空緩衝區快取____oracle

來源:互聯網
上載者:User

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

我們通過實驗來看一下重新整理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(*)----------     14375
SQL> select count(*) from x$bh where state=0;  -- state =0 is free
  COUNT(*)----------     13960
SQL> 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 statSQL> 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> 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.