원본 데이터베이스를 설정한다.
MySQL, Oracle과 같은 온라인 데이터베이스를 원본 데이터 소스로 사용하거나 MySQL의 XML 문서를 읽어서 원본 데이터 소스로 사용할 수 있다.
원본 데이터베이스를 설정하는 가장 간단한 방법은 목록에서 데이터베이스 연결을 선택하는 것이다. 새 데이터베이스 연결을 생성해야 한다면 |신규|을 선택한 후에 데이터베이스 종류와 JDBC 드라이버, 호스트 주소, 연결 포트, 사용자 이름, 비밀번호를 입력하고 |확인|을 클릭한다.
MySQL의 XML 문서를 원본 데이터베이스로 사용하려면 |MySQL XML 덤프|를 선택한 후 XML 파일 경로와 문자 집합을 설정한다. 또한, 타임스탬프 데이터를 정확하게 마이그레이션하려면 원본 데이터의 표준 시간대를 정확하게 설정한다.
MySQL의 XML 문서를 만들 때에는 바이너리 데이터에 "--hex-blob" 옵션을 추가해야 한다. 예를 들면 다음과 같은 명령어를 사용한다.
mysqldump --xml --databases test -u mydbadmin -pmypass --hex-blob > test.xml
JDBC를 이용하여 데이터를 입력할 때 사용한다. |신규|를 클릭하면 입력할 데이터베이스 정보를 추가할 수 있으며 추가된 데이터베이스는 목록에 등록되어 이후에도 선택하여 이용할 수 있다.
CUBRID 마이그레이션 툴킷을 이용하지 않고 Load DB 파일을 생성한 후 CUBRID loaddb 유틸리티로 직접 데이터를 입력하고자 할 경우 이용한다.
원본과 대상 데이터베이스의 타임존이 다를 경우 대상 데이터베이스의 시간대를 보정하여 정상적으로 Timestamp가 이전되도록 한다.
|온라인| 마이그레이션에서만 사용할 수 잇으며, 기본값은 500 이다. 여기에 설정한 레코드 만큼 데이터를 마이그레이션한 후
commit 명령으로 로그를 데이터파일로 쓰는 작업을 한다. 이 값이 너무 작으면 자주 commit을 하기 때문에 성능이 떨어질
수 있고 너무 클 경우 한 번에 쓰는 데이터의 양이 너무 커서 로그파일에서 데이터 파일로 쓰는 I/O가 동시 작업시 영향을 줄 수
있기 때문에 일반적인 경우에는 기본값으로 이용하여 마이그레이션 한다.
Load DB 파일들을 생성할 위치를 선택한다.
기본값이 아닌 별도의 이름으로 파일을 저장하고자 할 때 변경할 수 있으나 확장자는 .txt로 고정된다.
특정 기본키나 외래키, 인덱스, 파티션에 필요한 컬럼을 선택하지 않거나 다른 테이블의 외래키에 필요한 기본키를 선택하지 않으면 오류 메시지가 표시된다.
|SELECT 구문| 탭에서는 SELECT 문으로 조회한 내용을 원본 테이블로 사용할 수 있다.
SELECT 문을 추가하려면 |신규| 버튼을 클릭한다. 다음과 같은 대화 상자에서 하나 이상의 SELECT 문을 작성할 수 있다.
지원되지 않는 객체(Procedures/Functions/Triggers)를 파일로 출력
선택하면 마이그레이션 완료후 txt 파일로 지원되지 않는 객체에 대해
마이그레이션 마법사는 자동으로 각 원본 테이블을 복제한 대상 테이블을 생성한다. 대상 테이블은 원본 테이블과 이름 및 컬럼 이름이 동일하고 맵핑된 컬럼 타입, auto increment, 초기 값 특성을 가진다.
마이그레이션 마법사는 자동으로 각 원본 뷰를 복제한 대상 뷰를 생성한다. 대상 뷰는 원본 뷰와 이름 및 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다.
원본 테이블 이름은 읽기만 가능한 상태로 보이며 다음과 같은 옵션을 선택할 수 있다.
마이그레이션 마법사는 자동으로 각 원본 뷰를 복제한 대상 뷰를 생성한다. 대상 뷰는 원본 뷰와 이름 및 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다.
대상 뷰의 이름을 입력한다.
마이그레이션 마법사는 자동으로 각 SELECT 문에 대해 복제 테이블을 생성한다. 대상 테이블은 조회 결과와 컬럼 이름, 질의 조건이 동일하고 맵핑된 컬럼 타입을 가진다. 자세한 내용은 |테이블 설정| 탭과 동일하다.
마이그레이션 마법사는 자동으로 원본 외래키를 복제하여 대상 외래키를 생성한다. 대상 외래키는 원본 외래키와 이름, 컬럼 이름, ON UPDATE 동작, ON DELETE 동작이 동일하다.
마이그레이션 마법사는 자동으로 원본 인덱스를 복제하여 대상 인덱스를 생성한다. 대상 인덱스는 원본 인덱스와 이름, 타입, 컬럼 이름이 동일하다. 인덱스 이름과 인덱스 타입은 변경할 수 있다.
마이그레이션 마법사는 자동으로 원본 시리얼을 복제하여 대상 시리얼을 생성한다. 대상 시리얼은 원본 시리얼과 이름 및 기타 정보가 동일하며, 이름만 변경할 수 있다.
1 ~ 4단계에서 선택한 마이그레이션 설정을 보여주고 마이그레이션을 시작하거나 설정을 XML로 저장해둘 수 있다.
저장한 XML은 |마이그레이션| - |마이그레이션 스크립트 열기|를 이용하여 다시 로드하여 설정을 변경하거나 마이그레이션을 시작할 수 있다.
이 단계에서는 내보낸 레코드와 입력한 레코드, 현재 진행 정보 메시지, 테이블 마이그레이션 정보와 같은 마이그레이션 진행 과정을 보여 준다.
이 단계에서는 마이그레이션 결과 보고서를 보여준다. 저장 버튼을 클릭하면 탭 별로 리포트를 별도의 xls로 저장할 수 있다.
마이그레이션 진행 과정 정보를 다시 보려면 마이그레이션 이력 보기 기능을 이용한다. 마이그레이션 이력 보기를 선택하면 마이그레이션을 했었던 기록이 출력되는데, 마우스 더블 클릭을 하면 결과 리포트를 다시 확인할
마이그레이션 마법사의 5단계에서 |스크립트 저장|을 클릭하여 스크립트를 저장해 두면 나중에 다시 사용할 수 있다. 저정한 마이그레이션 스크립트를 사용하려면 메뉴에서 |마이그레이션| > |마이그레이션 스크립트 열기|를 선택한 후, 저장한 마이그레이션 스크립트를 선택하고 |열기|를 클릭한다. 저장된 상태의 설정값으로 마이그레이션 마법사를 계속 이용할 수 있게 된다.
메뉴에서 |파일| > |기본 설정|을 선택하면, MySQL, Oracle 데이터베이스를 CUBRID 데이터베이스로 마이그레이션할 때의 데이터 타입 맵핑을 설정할 수 있다.
"n", "p", "s"는 1 이상의 정수를 나타낸다. "n"은 문자열이나 비트열의 길이를 나타낸다. "p"는 고정 소수점 숫자의 정밀도(숫자 전체 자릿수)를 나타내며, "s"는 스케일(소수점 아래의 자릿수)을 나타낸다.
데이터 타입 맵핑 설정을 수정한 후에는 |적용|를 클릭하여 수정 사항을 적용한다.
|기본값 복원|을 클릭하면 기본 설정으로 복구할 수 있다.