응축(Condensing)과 이주(RowMigration) 발생시점 질문 0 1 2,318

by 하치 [2013.03.10 20:12:33]


안녕하세요. 새로쓴 데이터베이스 솔루션 서적을 가지고 공부하고있는 회사원입니다.

공부하던 중 응축과 이주에 대해서 나와있는데 책 내용만으로는 정확하게 응축작업을 하는 시점이 어떻게되는지 알고싶어서 이렇게 
글을쓰게 되었습니다. 응축이라는게 오라클내에서 확인할수 있는 작업인지, 아니면 오라클  내부에서 일어나는 작업인지
알고싶습니다.

오라클 or DB 고수님들 알려주시면 감사하겠습니다.

응축(Condensing)
블럭 내에 저장될 로우가 한조각(one piece)이 되도록 하기 위한 공간은 있지만 이어진 조각이 없어 저장이 불가능하게 될 때 자동으로 블록의 로우들을 재구성하는 작업이 일어나는데 이를 응축이라 함.

이주(RowMigration)
발생한 로우들의 길이가 너무 많이 커져 응축을 하더라도 로우의 길이가 늘어날 때 사용할 여유공간이 부족하게 되면, 이는 결국 다른 블록을 사용할 수 밖에 없게 됨.
로우가 다른 블록으로 이동하면 ROWID의 변경을 의미하여 이를 변경시키지 않고 여러 블록을 Access 하는 오버헤드를 감수하는 상태를 로우의 이주(Migration)이라 함.
이는 로우나 테이블을 삭제하고 다시 생성해야만 치유할 수 있음

by 강서꽃미남 [2013.12.19 09:49:47]
RowMigration, row chaining, condensing 모두 블록과 관계된 것들이죠.
그렇다면 블록에 쓰일 때 발생하겠죠?

로우 마이그레이션은 큰 데이터(블록보[다 큰)를 쓰면 발생하죠.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입