11g新增FLASH CACHE功能

在11.2中,Oracle提供了设置FLASH CACHE的功能,使得数据库可以自动使用配置好的FLASH CACHE作为二级缓存。
这个功能其实是EXADATA引入的,这也是EXADATA提高IO性能的又一利器。不过即使不是EXADATA,在11.2中也可以设置该功能,且这个功能的设置并不复杂。
11.2中提供了两个参数来设置FLASH CACHE:

SQL> SHOW parameter flash_cache
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_flash_cache_file                  string
db_flash_cache_size                  big INTEGER 0

其中DB_FLASH_CACHE_SIZE用来设置FLASH CACHE的大小,而DB_FLASH_CACHE_FILE设置文件的位置。
在操作系统上将FLASH CACHE挂成裸设备,然后添加到单独的ASM磁盘组中或直接挂载到操作系统上,然后通过DB_FLASH_CACHE_FILE指定ASM或操作系统目录下的文件既可。
需要注意的是,DB_FLASH_CACHE_FILE不像其他参数一样,对于ASM只需要指定磁盘组的名称既可,而必须通过手工的方式在ASM磁盘组上建立对应的目录,在设置参数的过程中,目录并不会自动创建,不过指定的文件名并不需要存在,Oracle会根据DB_FLASH_CACHE_SIZE的大小自动创建文件。

SQL> ALTER system SET db_flash_cache_size = 30g scope = spfile;
System altered.
SQL> ALTER system SET db_flash_cache_file = '+REDO/flash/odademo1.flash' scope = spfile sid = 'odaenmo1';
System altered.
SQL> ALTER system SET db_flash_cache_file = '+REDO/flash/odademo2.flash' scope = spfile sid = 'odaenmo2';
System altered.

需要注意,对于RAC而言,各个节点使用独立的FLASH CACHE文件,因此需要单独设置。

This entry was posted in ORACLE and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *