Question Regarding Row migration
DBAsupport.com Forums - Powered by vBulletin
Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Question Regarding Row migration

  1. #1
    Join Date
    Apr 2008
    Location
    Bangalore
    Posts
    96

    Thumbs up Question Regarding Row migration

    Can anyone explain in detail how row migration...What i read from documentation is that when the existing block becomes full then all the row in that block will be migrated to a new block....

    My question is all the blocks will be of same size then how will this work...Will there be any kind of defragmentation happen?

  2. #2
    Join Date
    Sep 2002
    Location
    England
    Posts
    7,333
    learn the difference row migration and chaining

    then learn what defragmentation is and how it is impossible with lmt's

  3. #3
    Join Date
    Apr 2008
    Location
    Bangalore
    Posts
    96
    Well lets get it straight...

    I know that row chaining occurs when an insert is happening into a block and teh space inside that is not sufiicient then the row will be chained to another block...

    Row migration will happen as the data grows....


    Can you please take a minute and explain me how does row migration work...?

  4. #4
    Join Date
    Mar 2007
    Location
    Ft. Lauderdale, FL
    Posts
    3,554
    Quote Originally Posted by Mohith123 View Post
    Well lets get it straight...

    I know that row chaining occurs when an insert is happening into a block and teh space inside that is not sufiicient then the row will be chained to another block...

    Row migration will happen as the data grows....


    Can you please take a minute and explain me how does row migration work...?
    mmhhh... not exactly.

    Row MIGRATION will occur when an update on affected row makes it grow large enough not fit anymore on the original block then the row gets migrated to a different block leaving behind a pointer.

    Row CHAINING will occur when a row is larger than a single data block then the row will be split into more than one data block.
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

  5. #5
    Join Date
    Apr 2008
    Location
    Bangalore
    Posts
    96
    Well well exactly you have come to the question which i had initially asked:Let me ask it by first posting your answer

    Row MIGRATION will occur when an update on affected row makes it grow large enough not fit anymore on the original block then the row gets migrated to a different block leaving behind a pointer.


    All the block sizes will be uniformly sized(say 8k,i know there can be blocks of different sizes).So how will row migration work...according to definition when a row no more fits into a block then entire row will move to a new block leaving behind a pointer?but wont the new block be of the same size?

  6. #6
    Join Date
    Sep 2002
    Location
    England
    Posts
    7,333
    Quote Originally Posted by Mohith123 View Post
    Well well exactly you have come to the question which i had initially asked:Let me ask it by first posting your answer

    Row MIGRATION will occur when an update on affected row makes it grow large enough not fit anymore on the original block then the row gets migrated to a different block leaving behind a pointer.


    All the block sizes will be uniformly sized(say 8k,i know there can be blocks of different sizes).So how will row migration work...according to definition when a row no more fits into a block then entire row will move to a new block leaving behind a pointer?but wont the new block be of the same size?
    again, you are confusing chaining with migration

    look them up

  7. #7
    Join Date
    Apr 2008
    Location
    Bangalore
    Posts
    96
    I am not confusing the one with other...can you please give me the definitions and i will ask you a question based on your definition

  8. #8
    Join Date
    Apr 2008
    Location
    Bangalore
    Posts
    96
    or can you please go through my previous post

  9. #9
    Join Date
    Mar 2007
    Location
    Ft. Lauderdale, FL
    Posts
    3,554
    Quote Originally Posted by Mohith123 View Post
    but wont the new block be of the same size?
    Yes but, block size is inmaterial.

    Picture this, you have lets say 10 rows comfortable sitting in a data block that has lets say 2048 bytes free then application updates one column on one of those rows, lets say a column of the varchar2(4000) datatype increasing size of that specific column form null to 3500 bytes then guess what? affected row doesn't fit anymore on original data block so it has to be migrated - leaving behind a pointer.
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

  10. #10
    Join Date
    Mar 2007
    Location
    Ft. Lauderdale, FL
    Posts
    3,554
    Quote Originally Posted by Mohith123 View Post
    I am not confusing the one with other
    By the way, Dave is right ... you are confusing one with the other.
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

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