Hello, thanks for the link. Now i understand better about this parameter now. The maximum value is always less than the operating system's maximum I/O size expressed as Oracle blocks ((max I/O size)/DB_BLOCK_SIZE).
How would i determine the max I/O size . What is max I/O size?
This parameter greatly dependes upon the type of system you are setting up. If OLTP/DSS then a smaller number in the 4-16 is probably a very good choice.
But if its say a DW, then large number up to the maximim I/O size would be a better choice.
Also, your block size should be greater than or equal to the OS I/O size.
If you're reducing the MBRC to tilt the optimizer away from table scans then you ought instead to consider either gathering system statistics (to benchmark the relative performance of single and multiblock reads) or set optimizer_index_cost_adj to give roughly the same info.
I see where your coming from, but the original post was what value to set it as... How about not setting it at all. Seems that Optimizer is not affected if it is not set, being left to its default value of the MaxIO/block size.