-
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?
-
learn the difference row migration and chaining
then learn what defragmentation is and how it is impossible with lmt's
-
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...?
-
 Originally Posted by Mohith123
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.
-
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?
-
 Originally Posted by Mohith123
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
-
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
-
or can you please go through my previous post
-
 Originally Posted by Mohith123
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.
-
 Originally Posted by Mohith123
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
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|