Oracle Storage Structure DB_BLOCK_SIZE


At time DBA concern about the DB_BLOCK_SIZE parameter, I am summarizing this because it is very important parameter in term of space and performace.

Storage Structures
A database is divided into logical storage units called tablespaces. Each tablespace has many logical Oracle data blocks. The DB_BLOCK_SIZE parameter specifies how large a logical block is. A logical block can range from 2 KB to 32 KB in size. The default size is 8 KB. An Oracle data block is the smallest unit of logical I/O.
A specific number of contiguous logical blocks form an extent. A set of extents that are allocated for a certain logical structure form one segment.
The most commonly used block size should be picked as the standard block size. In many cases, this is the only block size that you need to specify. Typically, DB_BLOCK_SIZE is set to either 4 KB or 8 KB. If you do not set a value for this parameter, the default data block size is operating system specific, which is generally adequate. You cannot change the block size after database creation except by re-creating the database.

Recommendation
If the database block size is different from the operating system block size, ensure that the database block size is a multiple of the operating system block size.