본문 바로가기

IT/Oracle

오라클 - shrink 기법

반응형

오라클 데이터베이스에서 shrink 기법은 데이터베이스 세그먼트(테이블, 인덱스 등)의 사용되지 않는 공간을 회수하고, 데이터 파일의 공간을 재구성하여 성능을 향상시키고 저장 공간을 최적화하는 데 사용됩니다. 이 기법은 데이터베이스의 물리적인 조각모음을 수행하고, 공간 사용 효율을 높여 데이터베이스 관리를 용이하게 합니다.


오라클에서의 Shrink 작업

1. 테이블 Shrink: Oracle에서 테이블의 공간을 축소하기 위해 ALTER TABLE 문을 사용하여 SHRINK SPACE 옵션을 적용할 수 있습니다. 이 과정은 테이블의 행들을 컴팩트하게 재배치하여 불필요한 공간을 제거합니다.
예를 들어

ALTER TABLE example_table ENABLE ROW MOVEMENT; ALTER TABLE example_table SHRINK SPACE;
  • ENABLE ROW MOVEMENT는 Oracle이 테이블의 행을 자유롭게 이동할 수 있도록 허용합니다. 이는 SHRINK 작업 전에 필수적으로 설정해야 합니다.
  • SHRINK SPACE 명령은 실제로 공간을 축소합니다. 이 명령은 선택적으로 COMPACT 옵션을 포함할 수 있는데, 이는 데이터만 재배치하고, 할당된 공간은 그대로 두고자 할 때 사용합니다.

2. 인덱스 Shrink: 인덱스도 비슷한 방식으로 축소할 수 있습니다. 인덱스의 경우, 조각모음을 통해 인덱스의 응답 시간을 개선하고, 공간을 절약할 수 있습니다.

ALTER INDEX example_index SHRINK SPACE;

Shrink 작업의 이점

  • 공간 절약: 데이터베이스 내 불필요한 공간을 줄여 저장 공간을 효율적으로 사용할 수 있습니다.
  • 성능 향상: 데이터 및 인덱스의 조각모음을 통해 쿼리 성능이 향상될 수 있습니다.
  • 관리 편의성: 데이터베이스의 물리적 크기를 관리하기 쉬워집니다.

주의사항

  • SHRINK 작업은 I/O 작업을 많이 발생시킬 수 있으므로, 시스템의 부하가 낮은 시간에 실행하는 것이 좋습니다.
  • 테이블이나 인덱스에 대한 다른 DML 작업과 동시에 SHRINK 작업을 실행하면 성능에 부정적인 영향을 줄 수 있습니다.
  • 일부 온라인 환경에서는 SHRINK 작업이 제한될 수 있으므로, 작업 전에 데이터베이스 관리자와 상의하거나, 적절한 테스트를 수행하는 것이 중요합니다.

오라클에서의 SHRINK 기법을 통해 데이터베이스의 운영 효율성을 높이고, 성능을 최적화하는 데 큰 도움이 될 수 있습니다.

반응형