Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

CUBRID Migration Toolkit Reference_kr


CUBRID 마이그레이션 툴킷의 모든 마이그레이션은 "새 마이그레이션"으로 시작할 수 있으며, "새 마이그레이션"으로 작성한 xml 스크립트인 마이그레이션 스크립트를 이용하면 동일한 설정으로 반복 마이그레이션도 가능하다.

"새 마이그레이션"은 1단계 원본 데이터 소스 선택 > 2단계 대상 데이터베이스 선택 > 3단계 객체 맵핑 > 4단계 마이그레이션 확인으로 진행이 된다. 여기서는 각 단계별로 옵션에 대해 설명한다.


1단계: 원본 데이터 소스 선택

온라인
JDBC 드라이버로 연결하여 스키마 및 데이터를 가져오는 방식이다. 연결 가능한 데이터베이스는 MySQL, Oracle, CUBRID가 있다. "신규" 버튼으로 추가하거나 추가되어 있는 연결 정보를 편집 또는 삭제도 가능하다.

MySQL XML 덤프 파일
MySQL의 10GB 내외의 데이터 마이그레이션에 적당하며, mysqldump 유틸리티를 이용하여 아래와 같이 추출한 XML 파일만 이용이 가능하며, "--hex-blob" 옵션이 필요하다.

mysqldump --xml --databases test -u mydbadmin -pmypass --hex-blob > test.xml

XML 파일을 선택하면 자동으로 XML 파일을 분석한다. 만약, CUBRID 마이그레이션 툴킷에 이미 분석한 정보가 있으면 분석하지 않고 바로 다음으로 진행할 수 있다.


2단계: 대상 데이터베이스 선택

온라인 (JDBC 사용)

CUBRID 데이터베이스에 접속하기 위해 JDBC 연결 방식을 사용한다. 연결 추가 방식은 "1단계 원본 데이터베이스 소스의 온라인"과 동일하다.

  • 커밋주기 - JDBC의 INSERT 성능을 높이기 위해 커밋주기를 조정할 수 있다. 여기에 설정한 레코드 만큼 데이터를 마이그레이션한 후 commit 명령으로 로그를 데이터파일로 쓰는 작업을 한다. 이 값이 너무 작으면 자주 commit을 하기 때문에 성능이 떨어질 수 있고 너무 클 경우 한 번에 쓰는 데이터의 양이 너무 커서 로그파일에서 데이터 파일로 쓰는 I/O가 동시 작업시 영향을 줄 수 있기 때문에 일반적인 경우에는 기본값으로 이용하여 마이그레이션 한다.
  • 데이터 마이그레이션 전 PK 생성 - 보통 테이블 생성, 데이터 입력, PK/인덱스 생성 순으로 진행되나, 이 옵션을 선택하면 HA 데이터베이스의 로그복제가 정상적으로 실행되기 위해서 필요한 PK를 데이터를 입력하기 전에 생성한다.
  • 시간대 - 원본과 대상 데이터베이스의 타임존이 다를 경우 대상 데이터베이스의 시간대를 보정하여 정상적으로 Timestamp가 이전되도록 한다.


오프라인 (CUBRID 매니저 서버 계정 필요)

데이터를 Load DB 형식으로 만든 후 CUBRID 매니저 서버에 직접 입력하는 방식이다. CUBRID 매니저 서버 접속이 가능할 경우 이용할 수 있는 방법이며, 접속이 불가능할 경우에는 아래의 "파일 출력" 기능을 이용할 수 있다.

  • CUBRID 매니저(CM) 서버 설정 - CUBRID 매니저 서버의 접속 정보를 입력한다.
  • 데이터베이스 설정 - 데이터가 입력될 데이터베이스를 설정할 수 있고 "생성" 버튼으로 데이터베이스를 새로 생성하여 마이그레이션에 사용할 수도 있다.
  • LoadDB 설정 - LoadDB시 사용되는 옵션을 설정할 수있다.


파일 출력 (CUBRID Load DB 형식 또는 CSV, SQL 출력)

Load DB 파일을 생성한 후 CUBRID 마이그레이션 툴킷을 이용하지 않고 CUBRID loaddb 유틸리티로 직접 데이터를 입력하고자 할 경우 이용한다.

만약, CSV나 SQL로 출력하고자 할 경우에는 "데이터 파일 유형"에 원하는 출력 파일의 유형을 선택하면 CSV, SQL 파일 형식으로 출력이 가능하다. CSV로 출력할 경우 파일 이름은 테이블 이름으로 생성된다.

  • 파일 경로 - 출력할 파일이 저장될 경로를 선택한다.
  • Schema, Index, Data 파일 이름 - LoadDB 형식으로 출력할 경우 파일명을 지정한다.
  • 데이터 파일 유형
    • LoadDB 파일 - LoadDB 파일 형식으로 출력한다.
    • CSV 파일 - CSV 파일 형식으로 출력한다. 구분자 등을 별도로 지정할 수 있다.
    • SQL - SQL 파일로 테이블 구조 및 데이터를 출력한다.
  • 테이블별 파일 분할 출력 - 테이블별 파일로 분리하여 출력한다. 파일명은 테이블명으로 생성된다.


3단계: 객체 맵핑

마이그레이션 마법사는 자동으로 각 원본 테이블을 복제한 대상 테이블을 생성한다. 대상 테이블은 원본 테이블과 이름 및 컬럼 이름이 동일하고 맵핑된 컬럼 타입, auto increment, 초기 값 특성을 가진다.


Tables

마이그레이션 마법사는 자동으로 각 원본 뷰를 복제한 대상 뷰를 생성한다. 대상 뷰는 원본 뷰와 이름 및 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다.

원본 테이블

원본 테이블 이름은 읽기만 가능한 상태로 보이며 다음과 같은 옵션을 선택할 수 있다.

테이블 맵핑 옵션

  • 데이터: 원본 데이터베이스에서 데이터를 내려받아 대상 데이터베이스에 올린다.
  • 조건: 테이블에서 일부 데이터를 추출해야할 경우 WHERE를 포함하여 지정 가능하다. 복잡한 조건의 경우 Tables 대신 SQLs에서 직접 SQL을 작성하여 입력한다.
  • 생성: 대상 데이터베이스에 새 대상 테이블을 생성한다.
  • 교체: 이미 생성되어 있을 경우 DROP한 후 다시 생성한다.
  • PK: 기본키를 마이그레이션할 것인가를 설정한다.

컬럼 사이즈 옵션

  • 원본 데이터베이스가 멀티바이트로 구성되어 있을 경우를 위해 일괄로 조정할 수 있다.
  • 기본값(1X)는 1:1 크기로 대상 테이블을 구성하고, 다중바이트문자(2X / 3X)는 원본 데이터베이스가 UTF-8이면 3X를 EUC-KR과 같은 2바이트 고정 문자셋이면 2X로 자동 조정된다.
  • "CHAR/VARCHAR 개별설정" 기능을 이용하면, 문제가 되는 문자 데이터 유형에 대해서만 컬럼 설정을 보며 수정할 수 있다.

참고 사항

    • 대상 데이터베이스에 새 테이블을 생성하지 않으려면, "생성"을 선택 해제한다. 그리고 레코드를 마이그레이션하지 않으려면 "데이터" 선택을 해제한다.

Views

마이그레이션 마법사는 자동으로 각 원본 뷰를 복제한 대상 뷰를 생성한다. 대상 뷰는 원본 뷰와 이름 및 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다.

SQLs

마이그레이션 마법사는 자동으로 각 SELECT 문에 대해 복제 테이블을 생성한다. 대상 테이블은 조회 결과와 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다. 자세한 내용은 "Tables"와 동일하다.

Sequences

마이그레이션 마법사는 자동으로 원본 시리얼을 복제하여 대상 시리얼을 생성한다. 대상 시리얼은 원본 시리얼과 이름 및 기타 정보가 동일하며, 이름만 변경할 수 있다.


4단계: 마이그레이션 확인

1 ~ 4단계에서 선택한 마이그레이션 설정을 보여주고 마이그레이션을 시작하거나 설정을 XML로 저장해둘 수 있다.

저장한 XML은 |마이그레이션| - |마이그레이션 스크립트 열기|를 이용하여 다시 로드하여 설정을 변경하거나 마이그레이션을 시작할 수 있다.


마이그레이션

이 단계에서는 내보낸 레코드와 입력한 레코드, 현재 진행 정보 메시지, 테이블 마이그레이션 정보와 같은 마이그레이션 진행 과정을 보여 준다.


요약 보고

이 단계에서는 마이그레이션 결과 보고서를 보여준다. 저장 버튼을 클릭하면 탭 별로 리포트를 별도의 xls로 저장할 수 있다.


마이그레이션 이력 보기

마이그레이션 진행 과정 정보를 다시 보려면 마이그레이션 이력 보기 기능을 이용한다. 마이그레이션 이력 보기를 선택하면 마이그레이션을 했었던 기록이 출력되는데, 마우스 더블 클릭을 하면 결과 리포트를 다시 확인할 수 있다.


마이그레이션 스크립트 열기

마이그레이션 마법사의 4단계에서 |스크립트 저장|을 클릭하여 스크립트를 저장해 두면 나중에 다시 사용할 수 있다. 저정한 마이그레이션 스크립트를 사용하려면 메뉴에서 |마이그레이션| > |마이그레이션 스크립트 열기|를 선택한 후, 저장한 마이그레이션 스크립트를 선택하고 |열기|를 클릭한다. 저장된 상태의 설정값으로 마이그레이션 마법사를 계속 이용할 수 있게 된다.


데이터 타입 맵핑 설정

툴바의 "기본 설정" 선택하면, MySQL, Oracle 데이터베이스를 CUBRID 데이터베이스로 마이그레이션할 때의 데이터 타입 맵핑을 설정할 수 있다.

"n", "p", "s"는 1 이상의 정수를 나타낸다. "n"은 문자열이나 비트열의 길이를 나타낸다. "p"는 고정 소수점 숫자의 정밀도(숫자 전체 자릿수)를 나타내며, "s"는 스케일(소수점 아래의 자릿수)을 나타낸다.

데이터 타입 맵핑 설정을 수정한 후에는 "적용"를 클릭하여 수정 사항을 적용한다.

"기본값 복원"을 클릭하면 기본 설정으로 복구할 수 있다.

comments powered by Disqus
Page info
viewed 2707 times
translations ko en
Author
posted 2 years ago by
newpcraft
Contributors
updated 2 years ago by
View revisions
tagged
Share this article