본문 바로가기

DB/__Oracle

10g에서 reorg 간단하게 하기(ASMM, shrink)

9i까지는 테이블 reorg 하기 위해서는 exp/imp 또는 move 하는 번거로움이 있었으나, 10g 부터 지원되는 ASMM(Automatic Shared memory memagement)와 shrink를 이용하여 간단하게 reorg 작업을 수행할 수 있습니다.

 

1. ASSM을 설정하는 작업은 간단합니다. SGA_TARGET 값만 세팅해주면 아래의 값은 오라클에서 알아서 설정해줍니다. SGA_TARGET 값은 SGA_MAX_SIZE 값과 같거나 작게 설정해야 합니다. 10g에서는 SGA 최대값만 설정해주면, SGA에 관한 작업은 더 이상 없습니다.

shared_pool_size

log_buffer

java_pool_size

large_pool_size

buffer_cache_size

 

참고로 WORKAREA_SIZE_POLICY = AUTO 로 설정하면 PGA영역도 오라클에서 알아서 설정해줍니다.(이건 9i 부터 지원)

 

2. shrink 작업 순서

1) alter table TABLE_NAME enable row movement;

2) alter table TABLE_NAME shrink space cascade;

3) alter table TABLE_NAME disable row movement;

 

3. 장단점

1) 장점 : DB를 shutdown 하지 않고 온라인으로 간단하게 작업 가능합니다.

2) 단점 : LOB, LONG, IOT, Cluster가 있는 테이블은 불가능합니다.