
오라클 데이터베이스에서 LOB(Large Object) 데이터는 대용량 문서, 이미지, 로그 등을 저장하는 데 사용됩니다. 이러한 LOB 컬럼이 파티션 테이블과 함께 사용될 경우, 성능과 관리 측면에서 고려해야 할 요소들이 많습니다. 이번 글에서는 ALL_PART_LOBS 뷰를 중심으로 오라클에서 파티션된 LOB 데이터를 어떻게 관리하고 있는지, 실무에서 어떤 방식으로 활용 가능한지 자세히 살펴보겠습니다.
1. ALL_PART_LOBS란?
ALL_PART_LOBS는 사용자가 접근할 수 있는 파티션 테이블에 포함된 LOB 컬럼의 저장 구조 및 특성을 보여주는 데이터 딕셔너리 뷰입니다. 특히 LOB 데이터가 별도의 세그먼트에 저장되기 때문에, 해당 정보를 통해 LOB 스토리지의 효율성과 위치를 파악할 수 있습니다.
1-1. 주요 컬럼 설명
- TABLE_NAME: 파티션 테이블 이름
- PARTITION_NAME: 테이블 파티션 이름
- LOB_NAME: LOB 컬럼 이름
- LOB_TABLESPACE_NAME: LOB 데이터가 저장된 테이블스페이스
- LOB_PARTITION_NAME: LOB 세그먼트 파티션 이름
- SECUREFILE: SecureFile 여부 (YES/NO)
- IN_ROW: 인라인 저장 여부
2. 실무에서의 활용 예시
다음 SQL은 SCOTT 스키마의 모든 LOB 파티션 정보를 조회하는 예입니다.
SELECT table_name, partition_name, lob_name, lob_tablespace_name, securefile
FROM all_part_lobs
WHERE owner = 'SCOTT';
위 쿼리는 어떤 테이블의 어떤 파티션이 LOB 컬럼을 가지고 있으며, 그것이 어떤 테이블스페이스에 저장되어 있는지, 그리고 SecureFile 옵션을 사용하는지를 보여줍니다. 이는 스토리지 최적화 및 성능 이슈 해결에 매우 유용합니다.
3. LOB 저장 방식에 따른 영향
LOB 데이터는 오라클에서 두 가지 방식으로 저장됩니다:
- BasicFile: 구버전 저장 방식, 기능 제한적이며 비효율적인 공간 관리
- SecureFile: 최신 방식으로 압축, 암호화, 중복 제거 등 다양한 기능 제공
ALL_PART_LOBS 뷰를 활용하면 테이블 파티션별로 어떤 LOB 저장 방식을 사용하고 있는지 확인할 수 있습니다.
4. 관련 뷰와 비교
| 뷰 이름 | 설명 | 주요 컬럼 | 사용 목적 |
|---|---|---|---|
| ALL_PART_LOBS | 파티션된 테이블의 LOB 컬럼 정보 | TABLE_NAME, LOB_NAME, LOB_TABLESPACE_NAME, SECUREFILE | LOB 저장 구조 확인 |
| DBA_LOBS | 모든 LOB 컬럼의 일반 정보 | TABLE_NAME, COLUMN_NAME, SECUREFILE | LOB 유형, 테이블스페이스 파악 |
| ALL_TAB_PARTITIONS | 테이블 파티션 메타 정보 | TABLE_NAME, PARTITION_NAME, HIGH_VALUE | 파티션 구조 전반 확인 |
5. 성능 최적화를 위한 팁
- SecureFile 활성화: 기본적으로 SecureFile을 사용하는 것이 I/O 성능과 공간 절약에 유리합니다.
- LOB 테이블스페이스 분리: LOB 데이터를 별도의 테이블스페이스에 저장함으로써 I/O 병목을 방지할 수 있습니다.
- 인라인 저장 고려: 소량의 LOB 데이터는 IN_ROW 옵션을 통해 테이블과 함께 저장하여 조회 성능을 높일 수 있습니다.
- LOB 파티션 명명 규칙 관리: 파티션 이름과 LOB 세그먼트 이름을 체계적으로 관리하면 유지보수 시 혼동을 줄일 수 있습니다.
6. 데이터 마이그레이션 및 백업 시 고려 사항
LOB 데이터는 크기가 크고 복잡도가 높기 때문에 백업/복구, 마이그레이션 시 다음과 같은 점을 유의해야 합니다:
- LOB 세그먼트가 포함된 테이블스페이스 별도 백업 필요
- LOB 저장 유형(BasicFile vs SecureFile) 유지 여부 확인
- LOB 파티션별 데이터 양 분석 후 마이그레이션 단계적 수행
7. 결론
ALL_PART_LOBS 뷰는 오라클에서 LOB 데이터를 사용하는 파티션 테이블의 저장 구조를 명확히 파악할 수 있도록 돕는 중요한 도구입니다. 특히 대용량 파일 처리, 문서 보관 시스템, 미디어 콘텐츠 저장 등에서 성능과 비용 효율을 높이는 데 필수적인 정보를 제공합니다. 실무 환경에서 이 뷰를 기반으로 저장 전략을 수립하면 시스템 안정성과 유지보수 효율이 크게 향상됩니다.
8. 참고 문헌 및 출처
- Oracle Database 19c Reference Manual: ALL_PART_LOBS
- Oracle LOB Storage Guide, Oracle Press
- 김태완, 실전 오라클 튜닝 가이드, 한빛미디어
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ALL_POLICIES 뷰로 VPD 및 보안 정책 확인하는 방법 (0) | 2025.06.27 |
|---|---|
| [ORACLE] ALL_PART_TABLES 뷰를 활용한 파티션 테이블 정보 파악 (0) | 2025.06.27 |
| [ORACLE] ALL_PART_KEY_COLUMNS 뷰의 개념과 실무 활용 법 (0) | 2025.06.27 |
| [ORACLE] ALL_PART_INDEXES 뷰 완전 이해하기 (0) | 2025.06.26 |
| [ORACLE] ALL_PART_HISTOGRAMS 뷰 완전 정복 (0) | 2025.06.26 |