配置和使用buffer cache
存放从磁盘读取的数据。排序和并行读不会使用buffer cache
可以从v$db_cache_advice或者buffer cache的命中率来检查buffer cache设置是否合理
查看v$db_cache_advice需要开启参数db_cache_advice
SQL> show parameter db_cache_advice NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON
SQL>
SQL> SELECT size_for_estimate, buffers_for_estimate, estd_physical_read_factor, estd_physical_reads
2 FROM V$DB_CACHE_ADVICE
3 WHERE name = 'DEFAULT'
4 AND block_size = (SELECT value FROM V$PARAMETER WHERE name = 'db_block_size')
5 AND advice_status = 'ON'; SIZE_FOR_ESTIMATE BUFFERS_FOR_ESTIMATE ESTD_PHYSICAL_READ_FACTOR ESTD_PHYSICAL_READS
----------------- -------------------- ------------------------- -------------------
2176 254898 7.6197 4008798521
4352 509796 2.5707 1352442576
6528 764694 1.1147 586464253
8704 1019592 1.0029 527644038
10880 1274490 1 526108526 #当前buffer cache的大小(即size_for_estimate的值1088MB),BUFFERS_FOR_ESTIMATE表示buffer数
13056 1529388 1 526108526
15232 1784286 1 526108526
17408 2039184 1 526108526
19584 2294082 1 526108526
21760 2548980 1 526108526
23936 2803878 1 526108526
26112 3058776 1 526108526
28288 3313674 1 526108526
30464 3568572 1 526108526
32640 3823470 1 526108526
34816 4078368 1 526108526
36992 4333266 1 526108526
39168 4588164 1 526108526
41344 4843062 1 526108526
43520 5097960 .6183 325295281 20 rows selected. SQL>
buffer cache的命中率=1 - (('physical reads cache') / ('consistent gets from cache' + 'db block gets from cache'))
其中,
-consistent gets from cache: 从buffer cache中获取数据块的一致性读次数
-db block gets from cache: 从buffer cache中读取当前块的次数
-physical reads cache: 从磁盘读入buffer cache的次数
SQL> SELECT NAME, VALUE
2 FROM V$SYSSTAT
3 WHERE NAME IN ('db block gets from cache', 'consistent gets from cache', 'physical reads cache'); NAME VALUE
---------------------------------------------------------------- ----------
db block gets from cache 78868122
consistent gets from cache 5224871044
physical reads cache 526202271 SQL>
Buffer Pool命中率=1 - (physical_reads/(db_block_gets + consistent_gets))
SQL> select name, physical_reads, db_block_gets, consistent_gets,
2 1 - (physical_reads / (db_block_gets + consistent_gets)) "hit ratio"
3 from v$buffer_pool_statistics; NAME PHYSICAL_READS DB_BLOCK_GETS CONSISTENT_GETS Hit Ratio
-------------------- -------------- ------------- --------------- ----------
DEFAULT 526799914 78941788 5234506897 .900855368 SQL>
配置和使用buffer cache的更多相关文章
- 相克军_Oracle体系_随堂笔记005-Database buffer cache
本章主要阐述SGA中的Database buffer cache. Buffer cache { 1.pin (读写瞬间的状态) 2.clean 3.dirty 4.unused } --Databa ...
- Linux-内存管理机制、内存监控、buffer/cache异同
在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将 ...
- 查看buffer cache命中率
SQL> select name,value from v$sysstat where name in('db block gets','consistent gets','physical r ...
- 清理buffer/cache/swap的方法梳理
一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果 ...
- linux下的缓存机制及清理buffer/cache/swap的方法梳理 (转)
一.缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果 ...
- linux page buffer cache深入理解
Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = ...
- Linux中的Buffer Cache和Page Cache echo 3 > /proc/sys/vm/drop_caches Slab内存管理机制 SLUB内存管理机制
Linux中的Buffer Cache和Page Cache echo 3 > /proc/sys/vm/drop_caches Slab内存管理机制 SLUB内存管理机制 http://w ...
- buffer cache 深度解析
本文首先详细介绍了oracle中buffer cache的概念以及所包含的内存结构.然后结合各个后台进程(包括DBWRn.CKPT.LGWR等)深入介绍了oracle对于buffer cache的管理 ...
- 10 OCP知识点讲解 之 什么是Buffer Cache?
OCP知识点讲解 之 什么是Buffer Cache? 分类: Oracle 2012-06-22 17:36:54 一.Buffer cache作用: Buffer cache是Oracle建立 ...
随机推荐
- Twitter Storm中Bolt消息传递路径之源码解读
本文初次发表于storm-cn的google groups中,现以blog的方式再次发表,表明本人徽沪一郎确实读过这些代码,:). Bolt作为task被executor执行,而executor是一个 ...
- 每天学点GDB 13
ptrace是gdb实现的基石,本文简要介绍一下ptrace. ptrace linux提供的系统调用ptrace,使得一个进程可以attach到另一个进程并进而完整的控制被attach上的进程. 被 ...
- java-冒泡排序
1.打印 print--打印,不换行,根据要求加上换行符 println--打印一次就换行 printf--打印,继承C语音的格式,可以进行格式化输出 换行符 '\r'是回车,'\n'是换行,‘\t' ...
- Latex公式换行、对齐
http://blog.sina.com.cn/s/blog_64827e4c0100vnqu.html 换行后等式对齐 \begin{equation}\begin{aligned}R(S_2)&a ...
- java语言中数值自动转换的优先顺序
转换原则:从低精度向高精度转换byte .short.int.long.float.double.char数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中“悄然”进行的转换,不需要用 ...
- laravle faker
1.编辑 /database/factories/ModelFactory,添加新的类模型填充 $factory->define(App\Post::class, function (Faker ...
- VC 中 UpdateData() 函数的使用
UpdateData(FALSE)与UpdateData(TRUE)是相反的过程 UpdateData(FALSE)是把程序中改变的值更新到控件中去 UpdateData(TRUE)是把在控件中输入的 ...
- iOS archive(归档)的总结 (序列化和反序列化,持久化到文件)
http://www.cnblogs.com/ios8/p/ios-archive.html
- 关于java字符串编译优化问题
情景一:不好的字符串拼接习惯 起因是这样的:一个大牛在写了一篇关于java字符串优化问题的讲解,他提到:不要使用strObj+otherValue的方法将otherValue转换为字符串形式,因 ...
- 【Android测试】【随笔】模拟长按电源键
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5195121.html 起因 昨天群里看到有人问如何实现一个 ...