1 Reply Latest reply on May 24, 2013 9:13 PM by Dude!

    Alignment of Physical Stripe Boundaries with Block Size Boundaries

      I was recently asked a simple question that I couldn't answare with certainty.
      If your stripe depth is the same size as the database block, then a single I/O
      issued by Oracle Database may result in two physical I/O operations. The question was: Why this MAY or MAY NOT happen?
      I was thinking. Is there something (metadata or some header) in internal stripe structure, more precisely structure of ASM extent or AU, that require part of available space dedicated to database block data, or is it someting else?
      Thx in advance for all answares.
        • 1. Re: Alignment of Physical Stripe Boundaries with Block Size Boundaries
          Its a complex topic since there are several I/O layers involved. The stripe size, filesystem block size, database block size, etc. are all logical constructs that try to fit as much bytes inside a block as possible to minimize the amount of I/O required to efficiently handle a predictable amount of data. A certain block size may also be necessary to bypass physical address limitations.

          The block size is the smallest addressable unit of a file system. Every read and write is done in multiples of the block size. A system cannot do 1/2 an I/O, for instance. How much data a system can handle in one I/O is a complex matter. If a filesystem uses a 4 KB fixed block size then a single database I/O of 8 KB may cause 2 I/O's on the filesystem. Even a disk media is comprised of blocks (sectors), which are not necessarily the same size as the logical blocks used by a filesystem or Oracle database file format. Modern hard disks use a 4 KB physical block size. Legacy systems and RAID are often based on 512 bytes for compatibility. The real situation is not predictable due to caching, read ahead buffering, etc., etc.
          1 person found this helpful