DBWR Question
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 4 of 4

Thread: DBWR Question

  1. #1
    Join Date
    Mar 2002
    Can someone please tell me how the "Scan Depth" is calculated by the DBWR while searcing for free buffers in the LRU list of the database buffer(SGA). Appreciate your time.

  2. #2
    Join Date
    Jan 2002
    I don't think we are able to get this info. It's under DBMS's control. Not sure.

  3. #3
    Join Date
    Sep 2001
    NJ, USA
    I don't absolutly sure in 8.1.7 and 9i (because oracle changes internal algorithms, that work with db buffer cache).
    value of scan depth based on parameter:
    _db_block_write_batch (by default) = min(1/2 * db_file_simultaneous_writes * #db_files, #buffes / 4, max_bath_size)
    in dbwr we know 2 addition parameters, that regulate scan depth value :
    scan depth increment
    scan depth decrement
    the dbrw scan depth is a selfajusting variable depending on how dbrw works with clear buffers on tail of LRU and =~
    scan depth(current) + scan depth increment [if clear buffer size < 1/2 scan depth(current)]
    scan depth(current) - scan depth decrement [if clear buffer size > 3/4 scan depth(current)]
    scan depth(current) = scan depth(current)
    select kvitdsc, kvitval from x$kvit where index in (7,8);
    DBRW scan depth increment 4
    DBRW scan depth decrement 1

    [Edited by Shestakov on 03-22-2002 at 11:06 AM]

  4. #4
    Join Date
    Feb 2001
    DBWR lru scans: the number of times that the database writer scans the lru
    for more buffers to write. The scan can be invoked either by a make free
    request or by a checkpoint.

    DBWR summed scan depth: can be divided by DBWR lru scans to determine the
    length of the scans through the buffer cache. This is NOT the number of
    buffers scanned. if the write batch is filled and a write takes place
    to disk, the scan depth halts.

    DBWR buffers scanned: is the total number of buffers scanned when looking
    for dirty buffers to write to disk and create free space. The count
    includes both dirty and clean buffers. It does NOT halt like the
    DBWR summed scan depth.

    When a process searches DB_BLOCK_MAX_SCAN_CNT buffers in the list
    without finding a free buffer. If this is the case it signals the
    DBWR to write to make way for free buffers

    "Number of LRU buffers for dbwr to scan when looking for dirty buffers"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Click Here to Expand Forum to Full Width