TIL - Oracle Database Upgrade Paths

DW 마이그레이션 제안서에서 나온 Oracle 버전 업그레이드 관련 내용 정리.


📚 배경

공공기관 DW 시스템에서 Oracle 11g → 19c 또는 12c → 19c 업그레이드가 자주 언급됨. 버전별 차이와 업그레이드 경로 정리.


📊 Oracle 버전 타임라인

11g R2 (2009) → 12c R1 (2013) → 12c R2 (2016) → 18c (2018) → 19c (2019) → 21c (2021) → 23ai (2024)
                     │                                            │
                     └── 멀티테넌트(CDB/PDB) 도입                 └── Long Term Support (LTS)
버전출시지원 상태비고
11g R22009종료 (2020)레거시, 업그레이드 필요
12c R12013종료CDB/PDB 도입
12c R22016Extended
18c2018종료연간 릴리스 시작
19c2019LTS (2027까지)현재 엔터프라이즈 표준
21c2021Innovation단기 지원
23ai2024최신 LTSAI 기능 추가

19c가 현재 가장 많이 쓰이는 이유: Long Term Support로 2027년까지 지원, 안정성 검증됨.


🔄 업그레이드 경로 비교

11g → 19c

항목내용
직접 업그레이드❌ 불가
버전 차이2~3세대 점프
난이도높음
주요 이슈아키텍처 변화 (Non-CDB → CDB)

가능한 방법:

방법 1: 단계적 업그레이드
11g → 12c → 19c
      (중간 버전 거침)

방법 2: Data Pump Export/Import
11g ─── expdp ───▶ dump file ─── impdp ───▶ 19c
        (논리적 마이그레이션)

방법 3: OGG (GoldenGate)
11g ─── OGG 실시간 복제 ───▶ 19c
        (무중단 마이그레이션)

방법 4: TTS + OGG 조합
11g ─── TTS (초기) + OGG (동기화) ───▶ 19c

12c → 19c

항목내용
직접 업그레이드✅ 가능
버전 차이1세대
난이도상대적으로 쉬움
주요 이슈파라미터, Deprecated 기능 체크

가능한 방법:

방법 1: In-place 업그레이드
12c ─── DBUA (Database Upgrade Assistant) ───▶ 19c
        (같은 서버에서 업그레이드)

방법 2: Out-of-place 업그레이드
12c ─── 신규 19c 설치 후 업그레이드 ───▶ 19c
        (새 Oracle Home)

방법 3: Data Pump / OGG
        (11g와 동일)

⚠️ 11g → 19c 주요 변화

1. 멀티테넌트 아키텍처 (CDB/PDB)

11g (Non-CDB):

Instance ─── Database
              └── Schema

19c (CDB/PDB):

Instance ─── CDB (Container Database)
              ├── Root (CDB$ROOT)
              ├── Seed (PDB$SEED)
              └── PDB (Pluggable Database) ← 실제 애플리케이션 DB
                  └── Schema
용어설명
CDBContainer Database, 전체 컨테이너
PDBPluggable Database, 독립적인 DB 단위
Non-CDB기존 방식 (11g), 19c에서도 가능하나 deprecated

⚠️ 주의: 19c에서 Non-CDB 모드는 deprecated. 향후 버전에서 제거 예정.

2. 옵티마이저 변화

항목11g19c
Adaptive Plans없음기본 활성화
SQL Plan Management기본강화됨
통계 수집수동 위주자동화 강화

영향:

  • 같은 SQL도 실행 계획이 달라질 수 있음
  • 성능 테스트 필수
  • SQL Plan Baseline 활용 권장

3. Deprecated/Desupported 기능

기능상태대체
Oracle Streams제거됨GoldenGate
Advanced Replication제거됨GoldenGate
Non-CDBDeprecatedCDB/PDB
일부 파라미터제거됨신규 파라미터

4. 보안 강화

영역변화
암호 정책대소문자 구분 기본 활성화
암호화TDE (Transparent Data Encryption) 강화
감사Unified Auditing 기본
권한일부 권한 세분화

⚠️ 12c → 19c 주요 변화

12c → 19c는 상대적으로 변화가 적음. 주로 안정화 및 기능 개선.

영역변화
Automatic Indexing19c 신규 (자동 인덱스 생성)
Real-Time Statistics통계 실시간 수집
SQL Quarantine문제 SQL 자동 격리
파라미터일부 기본값 변경

🛠️ 업그레이드 방법 비교

방법다운타임난이도적합한 경우
DBUA (In-place)있음 (시간~일)낮음소규모, 다운타임 허용
Data Pump있음중간데이터 정리 필요 시
OGG최소화높음무중단, 대규모
TTS + OGG최소화높음대용량 + 무중단

DBUA (Database Upgrade Assistant)

Oracle 제공 GUI 도구로 In-place 업그레이드.

# 19c Oracle Home에서 실행
$ORACLE_HOME/bin/dbua

Data Pump

# 11g/12c에서 Export
expdp system/password full=y directory=DATA_PUMP_DIR dumpfile=full.dmp logfile=exp.log
 
# 19c에서 Import
impdp system/password full=y directory=DATA_PUMP_DIR dumpfile=full.dmp logfile=imp.log

📋 업그레이드 전 체크리스트

공통

항목확인
현재 버전 정확히 확인
19c 호환성 매트릭스 확인
Deprecated 기능 사용 여부
타사 솔루션 호환성 (ETL, 모니터링 등)
충분한 테스트 환경
롤백 계획

11g → 19c 추가 체크

항목확인
CDB/PDB 전환 계획
Non-CDB로 갈지 CDB로 갈지 결정
Oracle Streams 사용 여부
암호 정책 변경 영향

Pre-Upgrade Tool

Oracle 제공 사전 점검 스크립트.

# 19c에서 preupgrade.jar 실행
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/preupgrade.jar FILE DIR OUTPUT_DIR

출력:

  • 필수 조치 사항
  • 권장 조치 사항
  • 정보성 메시지

📊 업그레이드 시나리오별 권장

시나리오권장 방법
소규모 DB, 다운타임 OKDBUA 또는 Data Pump
대규모 DB, 다운타임 OKTTS + Data Pump
무중단 필수OGG
대규모 + 무중단TTS (초기) + OGG (동기화)
11g + 데이터 정리 필요Data Pump (선택적 import)

💡 정리

경로직접 가능권장 방법
11g → 19cData Pump, OGG, TTS+OGG
12c → 19cDBUA, Data Pump, OGG

핵심 포인트:

  • 19c는 현재 LTS 버전으로 엔터프라이즈 표준
  • 11g는 아키텍처 변화 (CDB/PDB)로 인해 신중한 계획 필요
  • 대규모/무중단은 OGG 활용
  • Pre-Upgrade Tool로 사전 점검 필수

🔗 관련 문서


🔗 참고 자료