Hi to all.
I have one storage that will host the datafiles of an Oracle instance. The RAID needs to be configured and for this my colleague needs to set the chunk size. His options are 16k, 32k, 64k.
The Oracle db will have basically the block size set to 8k. Should the oracle's block size be synchronized with the chunk size to that minimum of 16k?
How can this change affect the performance?
Is you administrator sure the device will not support a 128K stripe chunk size? What is the largest IO size supported by your OS? How many disks do you expect to place in a stripe? Is this a RAID-5 device? I would lean toward 64K out of the choices you posted.
HTH -- Mark D Powell --
Should the oracle's block size be synchronized with the chunk size to that minimum of 16k?
No - you should use the standard Oracle recommendation of 8k for block size.
Any attempt at such 'tuning' will create a constraint of sorts between Oracle and the storage system. Oracle has been very careful to keep DB related tuning parameters totallys separate and distinct from the underlying storage platform.
When Oracle deviates from this practice they do so very explicitly; for example Hybrid Columnar Comparession that is currently only supported on EXADATA, ZFS and Pillar storage. This is because that functionality uses explicit knowledge of the underlying storage platform to ensure optimal performance.
For RAID Oracle has no explicit knowledge of the particular functionality (striping, mirroring, chunk size) being used. So while a 16k block size could conceivably help at one level it will also impact multi-block reads, memory use and a host of other things. The collective impact of all of those would be difficult to control and plan for.
It would also create a dependency between your DB and the type and configuration of RAID that you would need to use. And your organization would be responsible for managing that dependency and any resulting issues. With EXADATA, ZFS and Pillar Oracle has promised to support that dependency.