1. LOB을 SecureFile로 저장해야하는 이유
LOB은 BasicFile과 SecureFile 두 종류가 있다.
10g 이전에는 BasicFile만 존재했었는데, 11g부터 SecureFile이 등장했다.
실제로 DB를 운영해보면서 SecureFile이 BasicFile보다 우수한 이유는 대략 4가지였다.
1) 용량이 더 적음
SecureFile은 Chunk 사이즈가 동적이기 때문에 연속된 공간 할당을 극대화하고 단편화 현상을 줄여 용량을 줄여준다.
2) 빠른 Read
SecureFile은 네트워크 전송시 디스크를 pre-fetching함으로써 Read 성능을 향상 시켰다.
3) LOB 인덱스 경합 문제 해결
LOB 메타데이터를 private 블록으로 사용하기 때문에 BasicFile 성능저하의 문제였던 인덱스 경합문제를 해결했다.
이로 인해 DML시에도 SecureFile 성능이 더 빠르다.
4) 추가 옵션 적용 가능
SecureFile을 이용하면 Compression 옵션을 적용할 수 있다.
LOW / MID / HIGH의 세부옵션이 있으며, LOB 종류에 따라 압축률의 차이는 크지만 90%이상 압축되는 경우도 있다.
LOG성 테이블의 경우 아주 효과적이다.
2. LOB을 Datapump 이관시 SecureFile로 변환하는 방법
10g~11g 에서 12c~19c로 DBMS 버전을 업그레이드 하는 경우,
LOB을 BasicFile에서 SecureFile로 업그레이드 하는 경우가 많다.
이전에는 잘 쓰지 않았으나 이제는 용량 효율화, 성능을 위해 필수적이기 때문이다.
impdp를 할때 TRANSFORM 파라미터를 적용하면 모든 LOB을 SecureFile로 생성할 수 있다.
<스크립트 예시>
impdp dumpfile=test.dmp logfile=test.log
directory=dir_mig_export table_exists_action=replace TRANSFORM=LOB_STORAGE:SECUREFILE
* 참고자료 :
https://docs.oracle.com/database/121/ADLOB/adlob_smart.htm#ADLOB4444
https://docs.oracle.com/database/121/SUTIL/GUID-64FB67BD-EB67-4F50-A4D2-5D34518E6BDB.htm#SUTIL939
'데이터 사이언스 DataScience > Data Base 데이터베이스' 카테고리의 다른 글
[Oracle] OGG 오류 무시하는 방법, 특정 데이터만 동기화하는 방법 (0) | 2021.12.22 |
---|---|
[Oracle] OGG란? CDC솔루션 쓰는 이유 (0) | 2021.12.22 |
[Oracle] 데이터베이스 인수인계 체크리스트 (0) | 2021.11.23 |
[Oracle] 테이블스페이스 Drop 전 체크 쿼리 (0) | 2021.11.23 |
[Oracle] LOB 테이블에 NOLOGGING 옵션이 적용 안된다 (0) | 2021.11.15 |