[20170221]nocache工具的小测试.txt
--nocache 这个小工具可以显示文件在缓存的数量.
--其中 cachestats 有一个-v 参数可以以表格形式显示.看看它的标识是否正确.
1.环境:
SYS@book> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SYS@book> show parameter filesystem
NAME TYPE VALUE
-------------------- ------ ------
filesystemio_options string none
SCOTT@book> select rowid,dept.* from dept ;
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AAAVRCAAEAAAACHAAA 10 ACCOUNTING NEW YORK
AAAVRCAAEAAAACHAAB 20 RESEARCH DALLAS
AAAVRCAAEAAAACHAAC 30 SALES CHICAGO
AAAVRCAAEAAAACHAAD 40 OPERATIONS BOSTON
SCOTT@book> @ &r/rowid AAAVRCAAEAAAACHAAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
87106 4 135 0 0x1000087 4,135 alter system dump datafile 4 block 135 ;
--//在块4,135位置.
SCOTT@book> alter system flush buffer_cache;
System altered.
--//注意要执行这个.因为我前面已经清除文件缓存,不然执行select rowid,dept.* from dept where rowid='AAAVRCAAEAAAACHAAA';因为这时在数据库缓存里面,
--//文件系统缓存不存在.
2.测试:
$ cachedel /mnt/ramdisk/book/users01.dbf
$ cachestats -v /mnt/ramdisk/book/users01.dbf | head -20
/mnt/ramdisk/book/users01.dbf pages in cache: 0/554242 (0.0%) [filesize=2216968.0K, pagesize=4K]
cache map:
0: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
32: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
64: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
96: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
128: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
160: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
192: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
224: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
256: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
288: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
320: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
352: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
384: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
416: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
448: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
480: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
512: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
SCOTT@book> select rowid,dept.* from dept where rowid='AAAVRCAAEAAAACHAAA';
ROWID DEPTNO DNAME LOC
------------------ ---------- -------------- -------------
AAAVRCAAEAAAACHAAA 10 ACCOUNTING NEW YORK
$ cachestats -v /mnt/ramdisk/book/users01.dbf | head -20
/mnt/ramdisk/book/users01.dbf pages in cache: 16/554242 (0.0%) [filesize=2216968.0K, pagesize=4K]
cache map:
0: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
32: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
64: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
96: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
128: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
160: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
192: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
224: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
256: |x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x| | | | | | | | | | | | | | | | |
288: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
320: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
352: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
384: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
416: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
448: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
480: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
512: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
--//数据块8k,而pagesize=4K,135*8/4=270.上面256位置显示16个x,缓存64K??重复几次都是一样.
3.换另外一个块看看:
SCOTT@book> select rowid,emp.* from emp where rowid='AAAVREAAEAAAACXAAA';
ROWID EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
------------------ ---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
AAAVREAAEAAAACXAAA 7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
SCOTT@book> @ &r/rowid AAAVREAAEAAAACXAAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
87108 4 151 0 0x1000097 4,151 alter system dump datafile 4 block 151 ;
SCOTT@book> alter system flush buffer_cache;
System altered.
SCOTT@book> alter system flush buffer_cache;
System altered.
$ cachedel /mnt/ramdisk/book/users01.dbf
SCOTT@book> select rowid,emp.* from emp where rowid='AAAVREAAEAAAACXAAA';
ROWID EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
------------------ ---------- ---------- --------- ---------- ------------------- ---------- ---------- ----------
AAAVREAAEAAAACXAAA 7369 SMITH CLERK 7902 1980-12-17 00:00:00 800 20
$ cachestats -v /mnt/ramdisk/book/users01.dbf | head -20
/mnt/ramdisk/book/users01.dbf pages in cache: 16/554242 (0.0%) [filesize=2216968.0K, pagesize=4K]
cache map:
0: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
32: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
64: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
96: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
128: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
160: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
192: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
224: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
256: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
288: |x|x|x|x|x|x|x|x|x|x|x|x|x|x|x|x| | | | | | | | | | | | | | | | |
320: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
352: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
384: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
416: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
448: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
480: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
512: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
--// 151*8/4=302. 读1个块确实缓存64K,位置是正确的,具体为什么缓存64K,OS的东西我就不清楚了.^_^.