[Oracle] Compress
● 서버 스토리지 부족 시 TBL 압축을 위해 Compress 옵션 사용 (단, DML이 잦으면 역효과일 수 있음)
● Relation Data 처리를 위한 알고리즘으로 DB Block 내 다수의 column의 중복된 값을 제거하여 compression을 수행
● 새로운 data를 bulk insert, bulk load 또는 insert, update 시 compression 사용 가능
● Compress된 block은 compression과 관련된 meta data를 symbol table에 저장함
ㄴ uncompressed table과 가장 큰 차이
ㄴ symbol table : block의 상단에 위치
※ 사용 전 테이블의 속성을 파악하여 DML 이력 확인 권고
SQL> SELECT INSERTS, UPDATES, DELETES FROM DBA_TAB_MODIFICATIONS WHERE TABLE_NAME = 'TEST';
INSERTS UPDATES DELETES
---------- ---------- ----------
0 12657 0
Basic Compression
Direct path I/O 로 생성된 block만 압축함
하나의 segment에 여러 형태의 block이 혼재할 수 있음
ㄴ Compressed block (Direct Path I/O)
Uncompressed block (Conventional Path I/O)
Command
ALTER TABLE TEST_NOCOMP MOVE NOCOMPRESS;
ALTER TABLE TEST_BASIC MOVE COMPRESS BASIC;
ALTER TABLE TEST_OLTP MOVE COMPRESS FOR OLTP;
MOVE : 이전에 저장되어 있던 DATA들도 압축
MOVE 생략 시 이후에 들어오는 DATA들에 한하여 압축
SQL> INSERT /*+append*/ INTO ... VALUES ...
SQL> COMMIT;
OLTP Compression
Online Transaction Processing
= 그냥 트랜잭션
'Database > Oracle' 카테고리의 다른 글
[Oracle] Transaction과 Record (0) | 2024.02.21 |
---|---|
RMAN (0) | 2023.11.12 |
[Oracle] 자주 쓰는 명령어 (0) | 2023.11.10 |
[Oracle] 관리자 계정(system, sys) 비밀번호 변경 (0) | 2023.03.16 |
[Oracle] 이전 명령어 방향키로 출력 (0) | 2023.03.15 |