返回顶部
首页 > 资讯 > 数据库 >Oracle11gR2 Smart Flash Cache测试说明
  • 496
分享到

Oracle11gR2 Smart Flash Cache测试说明

2024-04-02 19:04:59 496人浏览 泡泡鱼
摘要

1. Flash Cache 功能介绍 在oracle11gR2中,Oracle提供了设置FLASH CACHE的功能,该特性允许使用SSD硬盘作为Buffer Cache的二级缓存,以在磁盘和

1. Flash Cache 功能介绍

oracle11gR2中,Oracle提供了设置FLASH CACHE的功能,该特性允许使用SSD硬盘作为Buffer Cache的二级缓存,以在磁盘和内存之间增加一级缓冲,提升数据访问性能。这个功能其实是EXADATA引入,这也是EXADATA提高io性能的又一利器。不过即使不是EXADATA,在11.2中也可以设置该功能,前提要求操作系统必须是oracle enterprise linux(简称OEL)或者solaris,也就是说只支持Oracle公司自己的操作系统。

Flash Cache 的功能只会提高磁盘读的性能,因为Dirty blocks还是会直接写到磁盘而不会在SSD中,通过下面的图可以很好的理解它的工作原理

1.   首先当有读的请求发生时,磁盘数据会被读到buffer

2.   有写的工作完成时,会将Dirty blocks直接写入磁盘

3.   将SGA中通过LRU移出的数据写到flash cache中,下次有读的请求时会通过flash cache写入内存

2. Oracle 版本及补丁

oracle 的smart flash cache功能 在OEL平台上对DB软件打了闪存补丁后可以使用(solaris上不需要打),具体说明如下:

OS

Oracle

补丁

是否正常

备注

OEL6.4

11.2.0.1

p8974084


11.2.0.3

p12949806


11.2.0.4


OEL7

11.2.0.1

p8974084

ORA-00439: feature not enabled: Server Flash Cache

内部bug,暂无补丁

11.2.0.3

p12949806

ORA-00439: feature not enabled: Server Flash Cache

内部bug,暂无补丁

11.2.0.4

ORA-00439: feature not enabled: Server Flash Cache

内部bug,暂无补丁

 

3. 修改 Flash Cache 参数

  开启Flash Cache功能需要修改两个参数(db_flash_cache_file和db_flash_cache_size),而且需要重启生效;支持的方式分为三种,包括文件系统、裸设备、ASM。

 

sql> show parameter flash_cache

NAME                   TYPE          VALUE
------------------- -----------  --------------------
db_flash_cache_file    string
db_flash_cache_size    big integer    0

db_flash_cache_file的大小一般推荐2-10倍的buffer cache(不能小于2倍),如果使用ASMM, 2-10倍的SGA_TARGET,这样才能达到效果;若将db_flash_cache_size设为0 可以disable flash cache,再设回来可以enable. 但不允许动态修改db_flash_cache_size的值;对于RAC的环境, 需要在每个instance上面都设置以上两个参数,并且不能使用同一个file。

修改方法

1. 文件系统

SQL> alter system set db_flash_cache_file='/testfs/cache.dbf' scope=spfile;

SQL> alter system set db_flash_cache_size=8192M scope=spfile;

2. 裸设备

SQL> alter system set db_flash_cache_file='/dev/raw/raw1' scope=spfile;

SQL> alter system set db_flash_cache_size=8192M scope=spfile;

3.ASM

SQL> alter system set db_flash_cache_file='+ASM/DB/cache.dbf ' scope=spfile;

SQL> alter system set db_flash_cache_size=8192M scope=spfile;

4. 查看 flash cache 使用情况

通过以下SQL判断flash cache是否在用

SELECT SUM (CASE WHEN b.status LIKE 'flash%' THEN 1 END) flash_blocks, SUM (CASE WHEN b.status LIKE 'flash%' THEN 0 else 1 END) cache_blocks,count(*) total_blocks FROM v$bh b;

Oracle11gR2 Smart Flash Cache测试说明

select name,value from v$sysstat where name in ('physical read flash cache hits','physical reads','consistent gets','db block gets','flash cache insert');

Oracle11gR2 Smart Flash Cache测试说明

5. 结论

  Oracle smart flash cache 功能虽然能很大的提高效率,但目前flash cache功能的成熟度不够理想,目前在配置时遇到很多bug(本文只列出一部分),后期使用是否还有bug还是未知,但是SSD硬盘确实对磁盘的I/O有很大性能的提高。


您可能感兴趣的文档:

--结束END--

本文标题: Oracle11gR2 Smart Flash Cache测试说明

本文链接: https://lsjlt.com/news/46737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作