Overview
대규모 마이그레이션의 최대 난제는 전환일 다운타임입니다. 수 TB의 데이터를 전환 당일 모두 이관하면 서비스 중단이 길어질 수밖에 없습니다. Datatrans는 query 조건절을 활용해 과거 데이터는 사전에 선적재하고, 전환 시점에는 잔여 데이터만 본적재하는 2단계 전략을 지원합니다.
예를 들어 UPDATE_DATE < '2026-07-01' 조건으로 기준 시점 이전 데이터를 선적재하고, 전환일에는 나머지 범위를 이관할 수 있습니다. 최종 소요 시간은 데이터량과 변경 패턴, 환경에 따라 달라집니다. APPEND는 CDC나 갱신·삭제 동기화가 아니므로 선적재 후 변경된 행의 정합성 처리 방안을 별도로 설계해야 합니다.
What You'll Accomplish
Instructions
공통 parfile 작성
접속 정보와 공통 옵션을 parfile로 작성해 재사용합니다. # 뒤는 주석으로 처리됩니다.
# /job/preload.par
source=SRC_USER/password@host:1521/SRCDB
target=TGT_USER/password@host:1521/TGTDB
degree=8
table_action=APPEND 과거 데이터 선적재
기준 시점 이전 데이터를 query 조건절로 선적재합니다. WHERE 키워드는 쓰지 않으며, 조건식에 공백이 있으므로 큰따옴표로 묶습니다.
datatrans parfile=/job/preload.par \
tables=HR.ORDERS,HR.ORDER_ITEMS \
query=HR.ORDERS:"UPDATE_DATE < TO_DATE('2026-07-01','YYYY-MM-DD')",HR.ORDER_ITEMS:"UPDATE_DATE < TO_DATE('2026-07-01','YYYY-MM-DD')" \
jobname=ORDERS_PRELOAD 선적재 상태 확인
STATUS 명령으로 선적재 작업의 최종 상태(COMPLETED)를 확인합니다.
datatrans
# DATATRANS> STATUS=ORDERS_PRELOAD 전환 시점 본적재
전환일에 기준 시점 이후 조건에 해당하는 데이터를 적재합니다. 이 APPEND 예시는 기존 행의 갱신·삭제를 반영하지 않으므로, 선적재 이후 변경된 행과 중복 키는 별도 검증·처리가 필요합니다.
datatrans parfile=/job/preload.par \
tables=HR.ORDERS,HR.ORDER_ITEMS \
query=HR.ORDERS:"UPDATE_DATE >= TO_DATE('2026-07-01','YYYY-MM-DD')",HR.ORDER_ITEMS:"UPDATE_DATE >= TO_DATE('2026-07-01','YYYY-MM-DD')" \
jobname=ORDERS_CUTOVER 진행률 확인 및 전환
PROGRESS로 테이블별 진행 상태를 확인하고, 검증을 통과하면 신 시스템으로 전환합니다.
datatrans
# DATATRANS> PROGRESS=ORDERS_CUTOVER How It Works
기준 시점 설정
선적재/본적재 분리 기준 시점 정의
선적재 수행
query 조건절로 과거 데이터 사전 이관
잔여 데이터 본적재
전환 시점에 변경·잔여 데이터만 이관
검증 및 전환
정합성 검증 후 신 시스템 전환