Friday, February 26, 2010

11gR2(Test) Flash Cache on Redhat

I'd like to test Flash Array , then I installed Oracle 11gR2 ( + patched 8974084) on RHEL 5.3 and want to test Flash Cache Feature.
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
I don't check much oracle document, just read about configuration.
Choose disk:
# fdisk -l /dev/sdc

Disk /dev/sdc: 24.5 GB, 24575868928 bytes
255 heads, 63 sectors/track, 2987 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table
# chmod 777 /dev/sdc
set Oracle initialization parameters:
$ sqlplus / as sysdba

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

System altered.

SQL> alter system set db_flash_cache_size=10G scope=spfile;

System altered.
Stop/Start database
SQL> shutdown immediate

SQL> startup
ORA-00439: feature not enabled: Server Flash Cache
ORA-01078: failure in processing system parameters
I found above error, then asked ... and find out. I found (oracle docs):
Your database is running on the Solaris or Oracle Enterprise Linux operating systems. The flash cache is supported on these operating systems only.
So, I had plan to install OEL. But... I'd like to figure out on Redhat as well.

Thank You Kevin Closson for figure me out. He is helpful me. I can use flash cache feature on Redhat.
SQL> startup;
ORACLE instance started.

Total System Global Area 7549435904 bytes
Fixed Size 2214456 bytes
Variable Size 4026533320 bytes
Database Buffers 3489660928 bytes
Redo Buffers 31027200 bytes
Database mounted.
Database opened.

SQL> show parameter db_flash_cache_file

------------------------------------ ----------- ------------------------------
db_flash_cache_file string /dev/sdc

SQL> show parameter db_flash_cache_size

------------------------------------ ----------- ------------------------------
db_flash_cache_size big integer 10G

Using db_flash_cache_file =/dev/sdc, Check -> A device name is Flash Cache File, isn't it?

$ dd if=/dev/sdc count=1024 | strings
Oracle RDBMS Flash Cache File
1024+0 records in
1024+0 records out
524288 bytes (524 kB) copied, 0.008165 seconds, 64.2 MB/s

Just Idea.


Anonymous said...

make sure to set filesystemio_options=setall too!

Surachart said...

Thank You @kevinclosson.

SQL> show parameter filesystemio_options

------------------------------------ ----------- ------------------------------
filesystemio_options string SETALL


Svetoslav Gyurov said...

Hey, thanks for this demo, it's really useful and congratulations for becoming Oracle ACE!


Surachart said...

Kevin Closson ( helped me for idea.

About Oracle ACE, that's the beginning. I still to learn + improve skills more...


Martha Centeno said...

Surachart -
I'm having difficulty following the necessary steps in order to enable the flash_cache in 11gR2 for Red Hat. Can you provide the list of steps you followed in order to enable it?

Thank you for the post...very interesting!

Martha Centeno

Surachart said...


flash_cache in 11gR2 supports on OEL or Solaris only

If you need to test it on RHEL. Please send email to me, I'll send some step to figure out it on RHEL.

surachart at gmail dot com

Ali Zaidi said...

Hi Surachart:
Can you please post the steps to get flash_cache to work on RedHat.

Surachart said...

@Ali Zaidi

Sorry for steps.

Zafar Mahmood said...


There is confusing information about the db_flash_cache_file parameter. Oracle doc says it should be /dev/fioa1 etc. while some blogs say it should be a file. What is correct? In my case, /dev/fioa1 does not work.
I have RAC though. On two nodes I have two fusion cards (/dev/fioa). Do I need to create file system and specify a file name for db_flash_cache_file?
Also does this work on RH also? What do you have to do to make it work on RH?
Zafar mahmood

Anonymous said...


I'm too researching the same information Zafar request. Would you Guys post any hint on the steps required to enable Flash Cache on RedHat?

Thanks in advance!

Surachart Opun said...

this can not publish for clue... sorry