先查詢測試表格(tmp01)的相關資料,會使用模糊查詢是因為我在實驗上發現如果有INDEX,它會被載入Buffer Cache,而不會是Table
SQL> select object_id,object_name from dba_objects where object_name like upper('%tmp_01%');
OBJECT_ID OBJECT_NAME
---------- ---------------------
70444 TMP_01
70445 TMP_01_PK
SQL> select * from v$bh where objd=70444; --> 沒有資料,表示它沒有被載入。
SQL> select * from v$bh where objd=70445; --> 有資料,載入Buffer Cache
查詢在Buffer Cache的Index,可以發現所有的Dirty都是N
SQL> select * from v$bh where objd=70445;
修改資料
SQL> update tmp_01 set a=2 where id=1;
SQL> commit;
再查詢一次,這次就可以發現Block的Dirty='Y',
表示Buffer Cache的資料已經被更改了。
SQL> select * from v$bh where objd=70445;
OBJD DIR
---------- ---
70445 Y
- Aug 20 Mon 2012 16:56
練習:Buffer Cache的Dirty狀態
全站熱搜
留言列表