기술 정보
home
채널 소개
home

table_migrator 대용량 테이블 이관 시, 속도 개선 방법

문서 유형
기술 정보
분야
마이그레이션
키워드
table migration
table_migrator
적용 제품 버전
6FS05
6FS06

개요

table_migrator을 이용하여 큰 테이블 (데이터 건수가 1억 건 이상) 또는 lob 데이터를 포함한 테이블 등 대용량 테이블을 통으로 이관할 때 속도가 저하되는 경우가 있습니다.
table_migraotr로 큰 테이블 이관 시, 여러 개의 쉘로 나누어 병렬로 수행하는 방법을 설명합니다.

방법

pk 인덱스 또는 날짜 컬럼에 인덱스가 설정된 경우, SELECT_CONDITION 옵션에 해당 컬럼을 활용하여 여러 개의 쉘 스크립트를 생성하여 병렬로 실행할 수 있습니다. 이를 통해 이관 시간을 단축할 수 있습니다.
아래 예시는 여러 개의 mig 쉘로 나누어 병렬로 수행하는 방법입니다.

1. migration 스크립트 생성 구문

#vi mig1.sh sh migrator.sh PROPERTY_FILE=DPL.prop SOURCE_SCHEMA=TIBERO SOURCE_TABLE=MIG_TEST TARGET_SCHEMA=TIBERO TARGET_TABLE=MIG_TEST1 LOG_FILE_NAME=TIBERO.MIG_TEST.log INSERT_PARALLEL=Y INSERT_THREAD_COUNT=1 SELECT_CONDITION="B between '2025/02/01 00:00:00' and '2025/02/07 23:59:59'" #vi mig2.sh sh migrator.sh PROPERTY_FILE=DPL.prop SOURCE_SCHEMA=TIBERO SOURCE_TABLE=MIG_TEST TARGET_SCHEMA=TIBERO TARGET_TABLE=MIG_TEST1 LOG_FILE_NAME=TIBERO.MIG_TEST.log INSERT_PARALLEL=Y INSERT_THREAD_COUNT=1 SELECT_CONDITION="B between '2025/02/08 00:00:00' and '2025/02/14 23:59:59'" ... #vi mig5.sh sh migrator.sh PROPERTY_FILE=DPL.prop SOURCE_SCHEMA=TIBERO SOURCE_TABLE=MIG_TEST TARGET_SCHEMA=TIBERO TARGET_TABLE=MIG_TEST1 LOG_FILE_NAME=TIBERO.MIG_TEST.log INSERT_PARALLEL=Y INSERT_THREAD_COUNT=1 SELECT_CONDITION="B between '2025/02/22 00:00:00' and '2025/02/28 23:59:59'"
SQL
복사

2. 생성한 스크립트를 백그라운드로 동시 수행

nohup mig1.sh > mig1.log & nohup mig2.sh > mig2.log & .. nohup mig5.sh > mig5.log &
SQL
복사