- 论坛徽章:
- 0
|
步1:改变12号文件7号块的TCH值:
先确定一下,此块目前并不在Buffer cache中:
SQL> select lru_flag,tch from x$bh where dbablk=12 and dbarfil=7;
未选定行
然后,通过ROWID显示12号文件7号块中的任意一行。(可以只接用ROWID作为条件,也可以使用索引)
SQL> select id from jj_1 where rowid='AAAMt2AAHAAAAAMAAA';
ID
----------
1
再看一下12号文件7号块的TCH值:
SQL> select lru_flag,tch from x$bh where dbablk=12 and dbarfil=7;
LRU_FLAG TCH
---------- ----------
0 1
已经是1了。LRU_FLAG列是此块目前在LRU链表中的位置。当此值为8或9时,代表块已经被送进热端。
此时,12号文件7号块当前被添加到了11的位置处:
每隔三秒,重复执行9遍如下命令:
SQL> select id from jj_1 where rowid='AAAMt2AAHAAAAAMAAB';
ID
----------
8
此时12号文件7号块的TCH值应该已经是10了,再显示一下:
SQL> select lru_flag,tch from x$bh where dbablk=12 and dbarfil=7;
LRU_FLAG TCH
---------- ----------
0 10
可以看到,已经是10了。但是,LRU_FLAG列仍是0。块并不会被移动到热端。
此时12号文件7号块的情况如下:
除TCH变为10外,12号文件7号块并不会被移到热端。 |
|