|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Oracle9i
and multiple block sizes For the Oracle
administrator, multiple blocksizes in Oracle9i are extremely important and
exciting. For the first time, you will be able to customize your
data buffer sizes according to the specific needs of your database.
Prior to Oracle9i, your entire Oracle database had to have a single block
size and this block size was determined at the time that the database was
created. With Oracle9i, we can
define tablespaces with block sizes of 2K, 4K, 8K, 16K and 32K, and assign
tables and indexes to the best block size to minimize I/O and best manage
wasted space in our data buffers. When we combine the new data
buffers for these block sizes, we get a total of seven separate and
distinct data buffers to segregate our incoming table and index rows. As we know, disk I/O is
the single most expensive operation within an Oracle9i database, and
multiple block sizes give us a powerful new tool to manage disk I/O with
more power than ever before. Until RAM memory
becomes cheap enough that we can cache our whole database, we need to
manage the RAM that we allocate to our data buffers. The allocation of
tables and indexes according to block sizes is a balancing act. If we allocate the data
blocks too large, then we waste valuable data buffer space holding row
data that Oracle will never reference. If we allocate the data block
too small, and Oracle will have to do more disk I/O to satisfy a request.
Here are some general rules for allocating data block sizes:
If you like Oracle
tuning, you might enjoy my latest book “Oracle Tuning: The DefinitiveReference” by Rampant TechPress. (I don’t think
it is right to charge a fortune for books!) and you can buy it right now
at this link: http://www.rampant-books.com/book_2005_1_awr_proactive_tuning.htm
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||