2014년 1월 3일 금요일

오라클 블록 행 이행 예방 방법 (ORACLE BLOCK, ORACLE교육, 구로디지털단지 오라클)

오라클 블록 행 이행 예방 방법 (ORACLE BLOCK, ORACLE교육, 구로디지털단지 오라클)

단편화중 하나인 행이행(Roe Migration)을 예방하는 방법은 적절한 pctfree 파라미터의 설정이 필요 합니다.

행 이행이 발생하는 것은 기존 행에 대한 update 발생시 이전 행의 컬럼보다 큰 값으로 변경 되었을 경우에 블록내 공간이 없이 다른 블록으로 행을 이동하는 것으로 alter table 명령으로 조정을 해주시면 됩니다.

SQL>Alter table emp pctfree 50;

SQL>select table_name, pct_free
    from dba_tables
    where table_name = ‘EMP’;


pctfree 수치계산법은  아래와 같습니다.

PCTFREE = 갱신에의해 증가된 사이즈 평균 / (갱신에의해 증가된 사이즈 평균 + INSERT시 평균행 사이즈) * 100

PCTFREE 파라미터에 대해서는 Oracle 강좌를 참고 하세요~

댓글 없음:

댓글 쓰기