Data-Only Migration 설정

이번 장에서는 Data-Only Migration 상세 설정 기능을 제공하는 Data-Only Migration 설정 페이지에 대하여 설명합니다.

개요

공통 설정에서 이관 방식을 Data-Only로 설정하면 Data-Only Migration 설정을 이어서 진행하게 됩니다. Data-Only Migration 설정은 인서트 모드(Insert Mode), 테이블 맵핑(Table Mapping), 상세 설정(Data Detail Settings) 페이지로 구성되어 있습니다.

해당 설정이 완료되면 다음 단계로 설정을 최종으로 확인하는 Overview 페이지 그리고 실행 현황 및 결과를 보여주는 Summary 페이지가 이어집니다.

본 장에서는 인서트 모드 페이지, 테이블 맵핑 페이지, 상세 설정 페이지에 대하여 설명합니다. 그 외 Overview 페이지, Summary 페이지에 대한 설명은 각 장을 참고 바랍니다.


인서트 모드(Insert Mode)

인서트 모드 페이지에서는 소스 데이터베이스에서 추출한 데이터를 타겟 데이터베이스에 입력(Insert)하는 방식을 선택할 수 있습니다. 다음 그림은 인서트 모드 페이지 화면입니다. 지원하는 옵션은 CPL / DPL이며 각 방식의 특징은 이어서 설명하도록 하겠습니다.

CPL (Conventional Path Load)

소스 데이터베이스에서 추출한 데이터를 타겟 데이터베이스로 이관할 때, Insert 문을 생성하여 Batch 방식으로 쿼리 수행하는 방식으로 서버에 적재합니다. DPL에 비해 성능은 떨어지나 별도의 제약 사항을 가지지 않습니다.

DPL (Direct Path Load)

DPL은 데이터를 쿼리를 생성, 수행하지 않고 Data Layer로 직접 적재하는 방식입니다. 쿼리를 수행하는 CPL 방식과 달리 데이터베이스의 SQL Processing 단계를 생략하기 때문에 훨씬 빠른 성능을 제공합니다. 단, 쿼리를 사용하지 않기 때문에 데이터베이스의 모든 기능을 활용할 수 없어 제약사항이 존재합니다. DPL을 지원하지 않는 항목을 포함하는 테이블은 D-Works에서 자동으로 CPL로 이관합니다.

지원되지 않는 항목 (Unsupported)

  • JSON 타입 컬럼을 포함한 테이블

  • 임시 테이블(TEMP TABLE)

  • 인덱스 조직 테이블(Index-Organized Table, IOT)

  • 사용자 정의 타입(User-Defined Type, UDT)을 포함한 테이블

제한적으로 지원되는 항목 (Limited Support)

  • CHECK 제약 조건 검사를 수행하지 않습니다.

  • FOREIGN KEY 제약 조건 검사를 수행하지 않습니다.

  • XML 형식(XML Schema Validation)을 검증하지 않습니다.

  • INSERT trigger가 실행되지 않습니다.


테이블 맵핑(Table Mapping)

테이블 맵핑 페이지에서는 소스 데이터베이스의 테이블을 선택하고 타겟 데이터베이스에 대응되는 스키마 및 테이블을 지정할 수 있습니다. 소스 데이터베이스의 스키마 트리에서 이관 대상 테이블을 선택하면 기본값으로 동일 스키마 이름, 테이블 이름을 가지는 타겟 데이터베이스의 테이블로 설정됩니다. 사용자의 용례에 따라 스키마 일괄 맵핑(Change Schema), 각 테이블의 드롭다운을 통해 대응되는 테이블을 변경할 수 있습니다.

소스 데이터베이스 테이블 선택 영역

화면 좌측에 소스 데이터베이스의 스키마와 테이블을 스키마 트리 형태로 제공되며 클릭을 통해 데이터를 이관할 테이블을 선택할 수 있습니다. 스키마를 선택하면 하위의 모든 테이블이 선택됩니다.

테이블 맵핑 설정 영역

소스 데이터베이스 테이블 선택 영역에서 선택한 테이블들을 타겟 데이터베이스의 어떤 테이블로 이관할지 설정할 수 있습니다. 새로운 테이블이 선택되면 테이블 맵핑 설정 영역에 표시되고 Target Schema, Target Table 순으로 선택하여 이관할 타겟 데이터베이스의 테이블을 선택할 수 있습니다.

상술하였듯이 소스 데이터베이스의 테이블을 선택하면 기본값으로 타겟 데이터베이스의 동일 스키마 이름, 테이블 이름을 가지는 테이블이 설정되고, Change Schema 버튼을 통해 타겟 데이터베이스의 대상 테이블들을 일괄 설정할 수도 있습니다.

추가로 파티션이 존재하는 테이블의 경우에는 파티션 단위로 이관 범위를 상세 설정할 수도 있습니다. 기본값으로는 모든 파티션이 선택되어 있으며 테이블의 Partition 컬럼 버튼을 클릭하여 표시되는 모달에서 이관 대상에서 제외할 파티션을 선택할 수 있습니다.

타겟 데이터베이스 테이블 미리보기 영역

우측 영역에는 선택된 대상 스키마 및 테이블 구조가 트리 형태로 표시됩니다. 이를 통해 마이그레이션 결과 구조를 미리 확인할 수 있습니다.


상세 설정(Data Detail Settings)

상세 설정 페이지에서는 소스 테이블에서 데이터를 추출할 때의 수행 방식에 대한 상세 설정과 타겟 테이블에 데이터를 이관할 때의 설정 등 데이터 Migration 작업 수행에 대한 필요한 설정 옵션을 제공하는 페이지입니다.

Data-Only Migration 옵션 목록

Migration Settings of DPL

옵션명
타입
설명

No. of Jobs

≥ 1

데이터 Migration 작업 시, 병렬 수행할 수를 설정합니다. 최대 설정한 수만큼의 테이블을 동시에 이관합니다.

Extract Options

옵션명
타입
설명

Parallel

ON/OFF

소스 테이블에서 데이터 병렬 추출(Select 쿼리) 사용 여부를 설정합니다.

Parallel Thread Count

≥ 2

소스 테이블에서 데이터를 추출하는 Thread의 수를 설정합니다. 설정한 수의 Thread가 동일한 테이블에서 병렬로 Select 쿼리를 수행하여 데이터를 추출합니다.

Parallel Hint

ON/OFF

소스 테이블 추출 쿼리 수행 시, Parallel Hint 사용 여부를 설정합니다.

Parallel Hint Degree

≥ 2

Select 쿼리 수행 시, Parallel Hint Degree를 설정합니다.

Fetch Size

1-64

데이터 추출 개수 단위를 설정합니다.

Insert Options

옵션명
타입
설명

Parallel

ON/OFF

소스 테이블에서 추출한 데이터를 타겟 테이블로 병렬 적재(Insert 쿼리) 수행 여부를 설정합니다.

Parallel Thread Count

≥ 2

병렬 적재를 수행할 thread 수를 설정합니다.

Batch

ON/OFF

(CPL Only) 데이터 적재 시, Batch Insert 사용 여부를 설정합니다.

Batch Count

≥ 1

(CPL Only) 한 번에 Batch Insert를 수행할 Row 수를 설정합니다.

Disable Index

ON/OFF

데이터 INSERT 전, 테이블에 존재하는 인덱스를 비활성화 시키는 옵션입니다. 선택 시 disable된 index를 rebuild 할지 선택할 수 있습니다.

  • IOT 테이블에 대한 index는 비활성화 시키지 않습니다.

  • CPL 인 경우에는 Primary key, Unique에 대한 index는 비활성화 시키지 않습니다.

Rebuild Index

ON/OFF

Disable Index 옵션을 사용할 때만 활성화되는 옵션이며, 이관 완료 후 인덱스를 재활성화 시키는 옵션입니다.

  • No of Jobs로 설정한 값만큼 동시에 여러 인덱스를 재활성화 합니다.

  • Insert Parallel Thread Count로 설정한 값만큼 degree of parallelism 값을 설정합니다.

Null for Empty String

ON/OFF

데이터가 NULL인 경우 empty string을 Insert할 지 선택합니다.

Commit Size

  • Commit at End

  • Commit After Row

  • Custom (≥ 1)

(CPL Only) Commit의 단위를 설정합니다. Custom을 선택하면 원하는 단위의 Row가 Insert 될 때마다 Commit됩니다. 성능을 고려하여 설정값과 무관하게 임의로 Commit을 수행할 수 있습니다.

Advanced Options

옵션명
타입
설명

TSN Based Migration

연/월/일 시/분/초 입력 후, 소스 데이터베이스에서 근접 시점의 TSN 자동 설정

선택한 시점에 가장 근접한 TSN의 데이터 블록을 읽어 데이터를 이관합니다.

서버에 해당 시간의 TSN이 존재하지 않으면 에러가 발생합니다.

Byte to String Conversion

ON/OFF

소스 데이터베이스에서 Byte로 읽어온 Char 또는 Varchar 데이터 타입의 데이터를 String으로 변환할지 여부를 선택합니다.

Byte를 String으로 변환할 지 선택할 수 있습니다. 소스 데이터베이스와 타겟 데이터베이스의 Character Set이 동일하거나 Null for Empty String을 활성화되어있는 경우 해당 옵션은 사용할 수 없습니다.

소스 데이터베이스와 타겟 데이터베이스의 Character Set이 동일한 경우, 자동으로 적용되며 옵션이 비활성화됩니다.

Log Unit

≥ 1

Insert Mode가 DPL인 경우에만 노출됩니다. 입력된 숫자 단위로 로그가 출력됩니다.

Last updated