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

Thread: pctused issue

  1. #1
    Join Date
    Jun 2001
    Posts
    316
    hi all,

    I have this litte doubt bout PCTUSED that needs to be cleared.

    suppose i have a table with pctused as 60% and pctfree as 40%...

    Noe the averrage row length of the table is such that it can hold 1 record with this 60%.

    Now suppose i give the value for the first row such that only 45% of the space is occupied and 15% still remains free.

    Now i insert another record that mite occupy say more than the available 15% in the block.So would it write the first 15% in this block and the remaining in the next block?
    Woud row chaining take place in this case?

    Thanx a lot..
    Sam

  2. #2
    Join Date
    Dec 2000
    Location
    Ljubljana, Slovenia
    Posts
    4,439
    No, PCTFREE or PCTUSED have no influence in this scenario. There is 55% free space in your block after the initial insert, which is more than your PCTFREE (40%), which means that the block is available for the additional inserts. And that means that whole 55% of the remaining block space is available for the next record. So next record will not be split (15% space in this block, remaining part of the record in next block), the whole record will be stored in this block. Only if the remaining 55% block space would not be enough for this new record would oracle insert it into another block with more free space, but in that case the *whole* record will be put in another block, so your original block will still hold only the initial record. And only if whole empty block would not be enough for insert of a second record would oracle store that record in multiple blocks (row chaining).
    Jurij Modic
    ASCII a stupid question, get a stupid ANSI
    24 hours in a day .... 24 beer in a case .... coincidence?

  3. #3
    Join Date
    Jun 2001
    Posts
    316
    thanx modic...so it means in such a scenario ,row chaning would never take place...unless the inserted record length is greater than 60% of the block size?
    thanx
    Sam

  4. #4
    Join Date
    Dec 2000
    Location
    Ljubljana, Slovenia
    Posts
    4,439
    Originally posted by helpme
    so it means in such a scenario ,row chaning would never take place...unless the inserted record length is greater than 60% of the block size?
    No, it means that row chaining in such a scenario would never take place unless inserted record length is greater than whole database block, that is 100% of block size (if we neglect some overhead for block header)!

    You could later expirience another kind of row chaining, called row migration. But this can happen only when updating existing records, not while inserting.
    Jurij Modic
    ASCII a stupid question, get a stupid ANSI
    24 hours in a day .... 24 beer in a case .... coincidence?

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