-
[oracle] Table Compression카테고리 없음 2024. 12. 19. 15:55
Table Compression
header 블럭 여러번 반복되는 문제 해결
compressed block header로 symbol table 두고 사용하면
공간낭비 줄이고 사용가능basic : pctfree = 0
select 할 때 압축 풀고 다시 selecting하냐? no 압축해제 안일어남
read only 목적으로 사용.
255 columns 넘어가면 압축테이블 사용하지마 제약 있음 (11g기준)
DBMS_COMPRESSION.GET_COMPRESSION_RATIO ( scratchtbsname => 'USERS', ownname => 'HR', objname => 'I_TEST', subobjname => NULL, comptype => dbms_compression.COMP_INDEX_ADVANCED_LOW, blkcnt_cmp => blkcnt_cmp, blkcnt_uncmp => blkcnt_uncmp, row_cmp => row_cmp, row_uncmp => row_uncmp, cmp_ratio => cmp_ratio, For Instructor Use Only. This document should not be distributed. Copyright © 2022, Oracle and/or its affiliates. 176 Practices for Lesson 15: Improving Space Usage comptype_str => comptype_str, subset_numrows => dbms_compression.COMP_RATIO_MINROWS, objtype => dbms_compression.OBJTYPE_INDEX );
index 압축 종류 2종류
low
high
이럴경우, index압축률이 더 좋은 high 압축 사용하는 것이 더 좋음
Resolving Space Usage Issues
dba_outstanding_alerts 로 tablespace 확인 가능
Shrinking Segments
Oracle 데이터베이스에서 사용되지 않는 공간을 세그먼트 내에서 회수하는 작업
세그먼트 축소는 주로 삭제된 데이터나 업데이트로 인해 공간이 낭비되는 경우, 이를 최적화하여 공간을 회수하는 작업이다.
세그먼트 축소를 통해 세그먼트 내의 불필요한 공간을 재사용 가능하게 만들고, 스토리지 효율성을 높이며, 성능을 개선할 수 있다.
* 세그먼트 축소 방법1) 테이블 축소
ALTER TABLE <테이블명> SHRINK SPACE;
2) 인덱스 축소
ALTER INDEX <인덱스명> SHRINK SPACE;
* 장점
- 공간 절약: 사용되지 않는 공간을 회수하여 디스크 공간을 절약할 수 있다
- 성능 향상: 축소된 세그먼트는 더 적은 디스크 공간을 차지하며, 데이터 액세스 성능을 향상시킬 수 있습니다. 데이터베이스가 더 적은 공간을 검색하므로 I/O 효율성이 높아질 수 있다 .
- 스토리지 최적화: 저장 공간을 재활용하여, 추가적인 스토리지 비용을 절감할 수 있다
* 단점
- 자원 소모: 축소 작업은 CPU와 I/O 자원을 많이 소모할 수 있습니다. 특히 큰 테이블이나 인덱스를 축소할 때 시간이 많이 걸릴 수 있다
- 테이블 락: 테이블을 축소하는 동안 해당 테이블에 대한 락이 발생할 수 있습니다. 이로 인해 다른 세션들이 테이블에 접근할 수 없게 되어, 시스템의 동시성에 영향을 줄 수 있다
- 불필요한 축소 방지: 자주 데이터를 삭제하고 추가하는 테이블에 대해서는 축소 작업을 자주 수행하는 것이 비효율적일 수 있습니다. 세그먼트 축소는 주기적인 작업으로, 모든 경우에 항상 적합하지 않을 수 있다
* 고려사항
- 트랜잭션 처리: 세그먼트 축소 작업을 수행할 때, 트랜잭션을 처리하는 데 영향을 줄 수 있으므로, 작업을 비업무 시간에 수행하는 것이 좋다
- 테이블 및 인덱스 크기: 큰 테이블이나 인덱스의 경우, 축소 작업이 완료될 때까지 시간이 오래 걸리며, 시스템 성능에 부정적인 영향을 미칠 수 있다
- 자동화된 공간 관리 (ASSM): Oracle에서는 ASSM (Automatic Segment Space Management) 방식이 활성화된 경우, 세그먼트 공간 관리를 자동으로 처리하지만, 여전히 세그먼트 축소는 DBA가 수동으로 수행할 수 있는 작업이다
반응형