Altibase Starting User's Manual

Similar documents
Altibase Starting User's Manual

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

DBMS & SQL Server Installation Database Laboratory

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Altibase Starting User's Manual

MySQL-.. 1

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

강의 개요

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Windows 8에서 BioStar 1 설치하기

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

PowerPoint Template

Spring Boot/JDBC JdbcTemplate/CRUD 예제

ISP and CodeVisionAVR C Compiler.hwp

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

윈도우시스템프로그래밍

슬라이드 제목 없음

13주-14주proc.PDF

문서 템플릿

목 차

6장. SQL

Microsoft PowerPoint - 10Àå.ppt

1217 WebTrafMon II

Altibase Installation Manual

Microsoft Word - src.doc

쉽게 풀어쓴 C 프로그래밊

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

10.ppt

Install stm32cubemx and st-link utility

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

제목을 입력하세요.

Altibase Stored Procedure Manual

C# Programming Guide - Types

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Tablespace On-Offline 테이블스페이스 온라인/오프라인

ALTIBASE HDB Patch Notes

슬라이드 1

Microsoft PowerPoint - e pptx

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

untitled

Windows Server 2012

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

ALTIBASE 사용자가이드 Templete

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

슬라이드 1

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint Presentation

윈도우시스템프로그래밍

untitled

PowerPoint 프레젠테이션

TITLE

View Licenses and Services (customer)

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

PowerPoint Presentation

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

FileMaker 15 ODBC 및 JDBC 설명서

Microsoft PowerPoint - 03_DB Migration 방법론 및 툴 사용법-인쇄.ppt

PowerPoint Presentation

PowerPoint 프레젠테이션

슬라이드 1

JDBC 소개및설치 Database Laboratory

Chapter 1

MS-SQL SERVER 대비 기능

4S 1차년도 평가 발표자료

단계

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Spring Data JPA Many To Many 양방향 관계 예제

Remote UI Guide


EndNote X2 초급 분당차병원도서실사서최근영 ( )

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

chap 5: Trees

금오공대 컴퓨터공학전공 강의자료

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

arcplan Enterprise 6 Charting Facelifts

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

System Recovery 사용자 매뉴얼

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

USER GUIDE

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

빅데이터분산컴퓨팅-5-수정

Microsoft PowerPoint Python-DB

Transcription:

ALTIBE HDB Tools & Utilities Migration Center User's Manual Release 6.10 (April 5, 2016)

----------------------------------------------------------- ALTIBE HDB Tools & Utilities Migration Center User's Manual Release 6.10 Copyright c 2001~2015 Altibase Corp. All Rights Reserved. 본문서의저작권은 알티베이스에있습니다. 이문서에대하여당사의동의없이무단으로복제또는전용할수없습니다. 알티베이스 152-790 서울시구로구구로동 182-13 대륭포스트타워 Ⅱ 10 층전화 : 02-2082-1114 팩스 : 02-2082-1099 고객서비스포털 : http://support.altibase.com homepage: http://www.altibase.com -----------------------------------------------------------

목차 서문... 5 이매뉴얼에대하여... 6 1. Migration Center 소개... 11 개요... 12 시스템요구사항... 14 설치및제거... 17 2. Migration Center 시작하기... 19 Migration Center 이해하기... 20 그래픽유저인터페이스 (GUI) 모드... 24 커맨드라인인터페이스 (CLI) 모드... 26 도구... 28 3. GUI 모드퀵가이드... 29 단계별지침... 30 4. Migration Center 내부... 35 구축단계... 36 조정단계... 38 실행단계... 43 검증단계... 45 A. 부록 : 마이그레이션옵션... 47 DB to DB 마이그레이션옵션... 48 DB to File 마이그레이션옵션... 50 목차 3

B. 부록 : 마이그레이션가능한데이터베이스객체... 51 타데이터베이스 to ALTIBE HDB... 52 타데이터베이스 to ALTIBE XDB... 53 C. 부록 : 데이터타입맵핑... 55 데이터타입맵핑조작... 56 기본데이터타입맵핑테이블... 57 D. 부록 : 기본값맵핑... 63 기본값맵핑테이블... 64 E. 부록 : PSM 변환기규칙목록... 69 뷰변환규칙... 70 트리거변환규칙... 72 함수변환규칙... 75 프로시저변환규칙... 79 Materialized View 변환규칙... 80 패키지변환규칙... 81 라이브러리변환규칙... 82 DML문변환규칙... 83 PSM 변환규칙... 96 찾아보기... 111 4 Migration Center User's Manual

서문 서문 5

이매뉴얼에대하여 이매뉴얼은 ALTIBE HDB 로데이터베이스마이그레이션을 수행하기위해 Migration Center 를사용하는방법을기술한다. 대상사용자 이매뉴얼은다음과같은 ALTIBE HDB 사용자를대상으로작성되었다. 데이터베이스관리자 성능관리자 데이터베이스사용자 응용프로그램개발자 기술지원부다음과같은배경지식을가지고이매뉴얼을읽는것이좋다. 컴퓨터, 운영체제및운영체제유틸리티운용에필요한기본지식 관계형데이터베이스사용경험또는데이터베이스개념에대한이해 컴퓨터프로그래밍경험 데이터베이스서버관리, 운영체제관리또는네트워크관리경험 소프트웨어환경 이매뉴얼은데이터베이스서버로 ALTIBE HDB 버전 6 을 사용한다는가정하에작성되었다. 이매뉴얼의구성 이매뉴얼은다음과같이구성되어있다. 제 1 장 Migration Center 소개이장은 Migration Center 를사용하고자하는사용자들을위해그기능과설치방법을소개한다. 제 2 장 Migration Center 시작하기 6 Migration Center User's Manual

이장은 Migration Center 를효율적으로원활하게실행하는데도움이되는기본개념을소개하고, Migration Center GUI 모드와커맨드라인인터페이스 (CLI) 모드사용법을자세히설명한다. 제 3 장 GUI 모드퀵가이드이장은 Migration Center 를처음접하는사용자들이 GUI 모드 Migration Center 를각단계별로사용할수있도록간략한지침을제공한다. 제 4 장 Migration Center 내부이장은 Migration Center 의주요세단계인구축, 조정, 실행단계에대해상세히설명한다. A. 부록 : 마이그레이션옵션이부록은 Migration Center 프로퍼티를설명한다. B. 부록 : 마이그레이션가능한데이터베이스객체이부록은 Migration Center 를사용해서마이그레이션할수있는데이터베이스객체를표로제공한다. C. 부록 : 데이터타입맵핑이부록은기존프로젝트를위한기본데이터타입맵핑을확인하고커스터마이징하는방법에대해설명하며, 기본데이터타입맵핑목록을제공한다. 문서화규칙 이절에서는이매뉴얼에서사용하는규칙에대해설명한다. 이규칙을이해하면이매뉴얼과설명서세트의다른매뉴얼에서정보를쉽게찾을수있다. 여기서설명하는규칙은다음과같다. 구문다이어그램 샘플코드규칙 구문다이어그램 이매뉴얼에서는다음구성요소로구축된다이어그램을사용하여, 명령문의구문을설명한다. 구성요소 예약어 의미명령문이시작한다. 완전한명령문이아닌구문요소는화살표로시작한다. 명령문이다음라인에계속된다. 완전한명령문이아닌 서문 7

구문요소는이기호로종료한다. 명령문이이전라인으로부터계속된다. 완전한명령문이아닌구문요소는이기호로시작한다. ; 명령문이종료한다. SELECT 필수항목 선택적항목 NOT ADD 선택사항이있는필수항목. 한항목만제공해야한다. DROP 선택사항이있는선택적항목 C DESC C 선택적항목. 여러항목이허용된다. 각반복앞부분에 콤마가와야한다. DESC, 샘플코드규칙 코드예제는 SQL, Stored Procedure, isql 또는다른명령라인 구문들을예를들어설명한다. 아래테이블은코드예제에서사용된인쇄규칙에대해설명한다. 규칙 의미 예제 [ ] 선택항목을표시 VARCHAR [(size)] [[FIXED ] VARIABLE] { } 필수항목표시. 반드시하나이상을선택해야되는표시 { ENABLE DISABLE COMPILE } 선택또는필수항목표시의인자구분표시. 그이전인자의반복표시. 예제코드들의생략되는것을. 표시 { ENABLE DISABLE COMPILE } [ ENABLE DISABLE COMPILE ] SQL> SELECT ename FROM employee; ENAME 8 Migration Center User's Manual

그밖에기호기울임꼴소문자대문자 위에서보여진기호이외에기호들구문요소에서사용자가지정해야하는변수, 특수한값을제공해야만하는위치지정자사용자가제공하는프로그램의요소들, 예를들어테이블이름, 칼럼이름, 파일이름등시스템에서제공하는요소들또는구문에나타나는키워드 ----------------------- SWNO HJNO HSCHOI... 20 rows selected. EXEC :p1 := 1; acc NUMBER(11,2); SELECT * FROM table_name; CONNECT userid/password; SELECT ename FROM employee; DESC SYSTEM_.SYS_INDICES_; 관련자료 자세한정보를위하여 ALTIBE HDB 의다음문서목록을참조한다. Installation Guide Getting Started Guide Administrator s Manual Replication Manual Precompiler User s Manual API User s Manual ALTIBE C Interface Manual isql User s Manual Utilities Manual General Reference Error Message Reference 온라인매뉴얼 Altibase 고객서비스포털 (http://support.altibase.com) 에서국문및 서문 9

영문매뉴얼 (PDF, HTML) 을받을수있다. Altibase 는여러분의의견을환영합니다. 이매뉴얼에대한여러분의의견을보내주시기바랍니다. 사용자의의견은다음버전의매뉴얼을작성하는데많은도움이됩니다. 보내실때에는아래내용과함께고객서비스포털 (http://support.altibase.com/kr/) 로보내주시기바랍니다. 사용중인매뉴얼의이름과버전 매뉴얼에대한의견 사용자의성함, 주소, 전화번호이외에도 Altibase 기술지원설명서의오류와누락된부분및기타기술적인문제들에대해서이주소로보내주시면정성껏처리하겠습니다. 또한, 기술적인부분과관련하여즉각적인도움이필요한경우에도고객서비스포털을통해서비스를요청하시기바랍니다. 여러분의의견에항상감사드립니다. 10 Migration Center User's Manual

1. Migration Center 소개 이장은 Migration Center 의특징을이해하고자하는사용자에게이도구를소개하고설치하는방법을설명한다. 이장은다음의절로구성된다. 개요 시스템요구사항 설치및제거 Migration Center 소개 11

개요 Migration Center 는데이터베이스사이에일반적으로호환되는데이터베이스객체와데이터를다른데이터베이스에서 ALTIBE HDB 로직접또는간접적으로복사하는데이터베이스마이그레이션 (migration) 도구이다. 대부분의데이터베이스는국제표준을준수하지만, 어떤데이터베이스라도수동식의데이터베이스마이그레이션이불가피한경우가있다. 일반적으로데이터베이스마이그레이션작업을수동으로직접하는것은복잡하고시간이많이소모되며, 사람이하는일이기에실수가잦을수있다. Migration Center 는사용자가그래픽유저인터페이스 (GUI) 모드에서몇번의마우스클릭만으로도데이터베이스마이그레이션작업을수행할수있게도와준다. 또한, 커맨드라인인터페이스 (CLI) 모드도지원한다. 이도구사용시얻을수있는주요이점은다음과같다 : 1. 원본데이터베이스의데이터베이스객체들을 ALTIBE HDB 로쉽게마이그레이션할수있다. 2. 최근의가장대중적인 DBMS 인터페이스인 JDBC 를사용해서원본데이터베이스의데이터를 ALTIBE HDB 로바로복사할수있다. 3. 데이터를외부파일로내보내어 (export), 나중에 iloader 로 ALTIBE HDB 에가져올 (import) 때사용할수있다. 4. 마이그레이션과정을단축시킬수있는병렬수행옵션을제공한다. 기본으로, 이도구는자동으로여러쓰레드간의데이터마이그레이션부하에대한균형을조정한다. 이도구는또한쓰레드들이처리할데이터를수동으로분할할수있는방법도제공한다. 5. 서로다른종류의데이터베이스간에다른데이터타입들의데이터타입맵핑을제공한다. 유연성 (flexibility) 을위해사용자정의데이터타입맵핑뿐만아니라편의를위해기본타입맵핑도지원한다. 6. 더나은사용성을위한 GUI 모드뿐만아니라, 만약의경우를대비해커맨드라인인터페이스 (CLI) 모드도제공한다. 7. 스키마마이그레이션에대해, 데이터베이스객체마이그레이션을위한 DDL SQL 문을사용자가수정할수있는기능을제공한다. 버전 6.10 현재, Migration Center 는원본데이터베이스로 Oracle Database 9i - 11g 버전과 Microsoft SQL Server 2005-2012 버전, MySQL 5.0-5.5 버전, Informix 11.50 버전및 ALTIBE HDB 4 이상, 그리고 ALTIBE XDB 6.1.3.0.3 이상의버전을지원한다. 12 Migration Center User's Manual

모든데이터베이스객체들이 Migration Center 로처리될수는 없지만, 이러한제한은조만간없어질것이다. Migration Center 소개 13

시스템요구사항 이절은 Migration Center 를설치하고실행하기위해필요한시스템사양에대해설명하고, Migration Center 와호환되는데이터베이스관리시스템을열거한다. 하드웨어요구사항 소프트웨어요구사항 호환되는데이터베이스시스템 하드웨어요구사항 GUI 모드 CPU: 800MHz 펜티엄 III 이상 메인메모리 : 512MB 이상 디스크 : 150MB 이상의여유공간 화면해상도 : 1024 x 768 화소이상 CLI( 커맨드라인인터페이스 ) 모드 CPU: 800MHz 펜티엄 III 이상 메인메모리 : 512MB 이상 디스크 : 150MB 이상의여유공간 소프트웨어요구사항 Oracle 또는 IBM Java 5 이상의 JRE Migration Center 는 GUI 모드의경우스윙 (Swing) 을사용하는순수자바애플리케이션이다. 이는사용자의하드웨어및운영체제에상관없이대부분독립적으로실행되지만, 오라클자바런타임환경 (JRE) 에의존적이다. 오라클또는 IBM Java 5 이상의 JRE 를설치할것을권장한다. GUI 모드로 Migration Center 를실행하려면, 사용자의환경이자바스윙을지원해야한다. Migration Center 는 32 비트마이크로소프트윈도우시스템의 JRE5 와함께번들되었다. 그러므로 32 비트버전의윈도우사용자는 JRE 에대해신경쓸필요가없다. 그러나, 다른운영체제사용자는 14 Migration Center User's Manual

JRE 및관련환경변수를알맞게설정해야한다. 호환가능한데이터베이스시스템 1. ALTIBE HDB A. 원본데이터베이스 : 4.3.9 이상버전 B. 대상데이터베이스 : 5.5.1 이상버전 2. ALTIBE XDB A. 원본데이터베이스 : 6.1.3.0.3 이상버전 B. 대상데이터베이스 : 6.1.3.0.3 이상버전 3. Oracle Database: 9i - 11g 4. Microsoft SQL Server: 2005-2012 5. Oracle MySQL: 5.0-5.5 6. Informix: 11.50 Migration Center 는 ALTIBE HDB 및다른데이터베이스의다양한버전들과함께사용할수있다. 이도구는데이터베이스접속을위해 JDBC 드라이버를사용하므로, 원본데이터베이스와대상데이터베이스에알맞은 JDBC 드라이버를준비하는것이중요하다. 사용자편의를위해지원되는데이터베이스에적합한몇가지 JDBC 드라이버를 Migration Center 와함께제공한다. 법적인문제때문에, 마이크로소프트 SQL Server 의 JDBC 드라이버파일과 Mysql Connector/J 파일, Informix JDBC 드라이버파일은패키지에포함하지않았다. 아래의사이트에서적절한 JDBC 드라이버파일을다운로드할수있다 : 1. SQL Server 2008, 2005, 또는 2000 을위한 SQL Server JDBC 드라이버 2.0 (Type 4 JDBC 드라이버 ) http://www.microsoft.com/enus/download/details.aspx?id=2505 2. SQL Server 2012, 2008 R2, 2008, 2005 또는 Microsoft SQL Azure 를위한 Microsoft JDBC 드라이버 4.0 (Type 4 JDBC 드라이버 ) http://www.microsoft.com/enus/download/details.aspx?id=11774 3. Oracle MySQL Connector/J http://dev.mysql.com/downloads/connector/j/ 4. Informix JDBC Driver http://www14.software.ibm.com/webapp/download/search Migration Center 소개 15

16 Migration Center User's Manual.jsp?go=y&rs=ifxjdbc

설치및제거 Migration Center 는공식 Altibase 고객서비스포털 http://support.altibase.com 에서내려받을수있다. Migration Center 는 zip 또는 tar.gz 파일형식으로제공된다. 이파일은실행파일과몇가지 JDBC 드라이버를포함하고있다. Migration Center 설치는압축을풀기만하면된다. 결과로생긴디렉토리안에는 migcenter.bat 와 migcenter.sh 를포함해서 projects, lib, conf 및 images 하위디렉토리, 및파일들이존재한다. 이폴더를원하는위치로옮긴다. 이제 Migration Center 를사용할준비가되었다. Migration Center 를제거하려면, Migration Center 가설치되어있는디렉토리를삭제하기만하면된다. Migration Center 소개 17

2. Migration Center 시작하기 이장은먼저사용자들이 Migration Center 를좀더능률적이고효율적으로실행하는데도움이되는기본개념을소개한다. 그런후에, Migration Center 를 GUI 모드와 CLI 모드로사용하는방법에대해자세히설명하고사용자편의를위해제공되는도구를설명한다. 이장은다음의절로구성된다. Migration Center 이해하기 그래픽유저인터페이스 (GUI) 모드 커맨드라인인터페이스 (CLI) 모드 도구 Migration Center 시작하기 19

Migration Center 이해하기 이절은용어를소개하고 Migration Center 로작업하는전반적인과정을설명한다. 용어 기본개념 용어 프로젝트 Migration Center 프로젝트는마이그레이션의모든면을기술하는기본작업단위이다. 이것은무엇을마이그레이션할지, 어디에서어디로마이그레이션할지 ( 즉, 어떤종류의데이터베이스또는데이터파일 ), 그리고데이터베이스객체와테이블데이터를어떻게마이그레이션할지를포함한다. 마이그레이션옵션에관한상세한내용은이매뉴얼의 "A. 부록 : 마이그레이션옵션 " 에서제공한다. 프로젝트는언제든지오직한개만열수있다. 기본개념 Migration Center 를사용하여마이그레이션을수행하는전반적인과정은 " 준비 (Prepare)", " 구축 (Build)", " 조정 (Reconcile)", " 실행 (Run)" 및 " 검증 (Data Validation)" 의다섯단계로구성된다. 20 Migration Center User's Manual

준비 (Prepare) 단계 " 준비 " 단계는실제마이그레이션프로젝트에대한암묵적인단계이다. " 준비 " 단계의최종상태는모든데이터베이스연결이설정된프로젝트가열려있는것이다. 최종 " 준비 " 단계상태로가려면, 사용자는운영중인데이터베이스연결정보를추가하거나, 기존의마이그레이션프로젝트를열거나, 사전에구성된데이터베이스연결을사용해서새로운마이그레이션프로젝트를생성하거나, 또는데이터베이스와의연결을설정해야한다. 구축 (Build) 단계 " 구축 " 단계는원본및대상데이터베이스의현재상태에대한초기조사를수행한다. 데이터베이스와의연결을통해원본및대상데이터베이스의데이터베이스객체에관한정보를가져오고, 이정보를프로젝트디렉터리에저장한다. 이렇게수집된정보가다른단계에서사용되기때문에, 여기에는가장최신의상태가반영되어야한다. " 실행 " 단계전에원본데이터베이스에서어떤메타정보가변경된다면, 변경사항들까지통합하기위해 " 구축 " 에서 " 실행 " 단계까지모두재수행되어야한다. Migration Center 시작하기 21

조정 (Reconcile) 단계 " 조정 " 단계는현재상태에대해완벽한마이그레이션계획을구성한다. 이단계에서는원본및대상데이터베이스시스템간의데이터타입및테이블스페이스등의차이를조정하는것이대부분이다. 이단계에서사용자는원본데이터베이스로부터데이터추출시에사용할 SELECT 문과대상데이터베이스에실행할 DDL 문을편집할수있다. 예를들어, 사용자는원본데이터베이스의어떤테이블이대상데이터베이스의어떤테이블스페이스로복사될지를명시할수있다. 마이그레이션옵션에변경이가해지면이단계가재수행되는점을염두에두기바란다. 실행 (Run) 단계 " 실행 " 단계는 " 조정 " 단계에서도출된계획을실행한다. 이단계에서직접또는간접적으로스키마와데이터가마이그레이션된다. 마이그레이션옵션에서 Migration Type 를 "DB" to "DB" 로설정했다면, Migration Center 는대상데이터베이스에데이터베이스객체를생성한다 ( 스키마마이그레이션 ). 그다음에원본데이터베이스에서대상데이터베이스로데이터를복사한다 ( 데이터마이그레이션 ). 마이그레이션옵션에서 Migration Type 를 "DB" to "File" 로설정했다면, 마이그레이션하는동안 SQL 스크립트파일이생성된다. 그러나기본마이그레이션과정은동일하다. 검증 (Validation) 단계 " 검증 " 단계는 " 실행 " 단계에서이관된데이터를원본데이터베이스와데이터가일치하는지검사를수행한다. "User Mode" 로마이그레이션을했다면 Primary Key 가있는모든테이블을대상으로데이터가일치하는여부를검사한다. "Table Mode" 로마이그레이션을했다면마이그레이션한테이블중 Primary Key 가있는테이블을대상으로데이터의일치여부를검사한다. 검증과정에서원본과다른데이터는 CSV 형식으로저장된다. 차이가나는데이터는 "FILESYNC" 메뉴또는명령으로대상데이터베이스에반영할수있다. 또한 " 검증 " 단계에서소요되는시간을줄이기위해, 기본적으로데이터샘플링기능이사용된다. 만약샘플링데이터대신에전체데이터를검증하고싶으면 "Migration 22 Migration Center User's Manual

Options" 의 "Data Validation Options" 항목들중 "Data Sampling" 을 "No" 로변경하면된다. Migration Center 시작하기 23

그래픽유저인터페이스 (GUI) 모드 이절은 Migration Center 를 GUI 모드로사용하는방법을자세히설명한다. 먼저사용자인터페이스에대해서설명하고, 마이그레이션을수행하는방법에대해빠른단계별지침을제공한다. 그리고, 마지막으로 GUI 모드의 Migration Center 를제어하는방법에대해좀더상세한설명을제공한다. 사용자인터페이스이해하기 Migration Center GUI 는아래그림과같이네개의창으로이루어져있다. 왼쪽상단부터시작하여시계방향으로각각 " 프로젝트 (Project)", " 정보 (Information)", " 로그 (Log)", "DB 속성 (DB Properties)" 창이다. 프로젝트창 프로젝트창은프로젝트중심의뷰를제공한다. 프로젝트창은열려 있는프로젝트와원본및대상데이터베이스연결을보여준다. 한번에오직하나의프로젝트만프로젝트창에열수있다. 24 Migration Center User's Manual

정보창 이창은프로젝트에대한간단한뷰를제공한다. 현재의진행상황 및남아있는단계를보여준다. 로그창 이창에는 Migration Center 에서수행된작업의결과가발생한순서대로출력된다. 이는 Migration Center 가설치된디렉토리아래의 "log" 라는하위디렉토리에저장되는로그로부터사용자가관심있을만한정보를선별한다. DB 속성창 이창은프로젝트에설정된원본데이터베이스와대상 데이터베이스에대한정보를보여준다. Migration Center 시작하기 25

커맨드라인인터페이스 (CLI) 모드 이절은 Migration Center 를커맨드라인인터페이스 (CLI) 모드로실행하는것이왜바람직할수있는가에대한설명과함께, 실행방법에대해서도설명한다. CLI 모드에대한이해 CLI 모드로실행단계수행 CLI 모드에대한이해 GUI 모드는사용자친화적인환경을제공하지만, Migration Center 를항상 GUI 모드로실행하는것은불가능하다. CLI 모드는 GUI 모드실행이불가능할때편리하지만, 이또한제한사항이있다. 터미널에서 " 조정 " 단계를행하는것은매우비효율적이기때문에, CLI 모드에서는사용자가마이그레이션절차중오직 " 실행 " 및 " 검증 " 단계만수행하는것이허용된다. Migration Center 를 CLI 모드로사용하는주된이유는고성능실현을위해서다. CLI 모드및 GUI 모드에서 " 실행 " 과 " 검증 " 단계수행은동일한환경에서는동일한성능을제공하지만, CLI 모드는좀더열악한환경에서도실행이가능하다. 상용데이터베이스환경에서마이그레이션다섯단계중가장많은시간이소요되는단계는 " 실행 " 단계이다. " 실행 " 단계에서필수작업은원본데이터베이스에서데이터를가져와서이것을대상데이터베이스에보내는것이다. GUI 를항상사용할수없는서버들중하나에데이터베이스가있다면, CLI 모드를사용하여데이터전송속도를높일수있다. 이것은통신비용을크게감소시켜전체마이그레이션에소요되는시간을줄인다. CLI 모드로실행, 검증단계수행 CLI 모드로 Migration Center 의실행이나검증단계를수행하려면, 커맨드실행시 command 와 project_path 의두개인자가필요하다. %./migcenter.sh command project_path 첫번째인자로다음세가지의 command 가가능하다. run: 실행단계수행 diff: 검증단계에서데이터비교작업수행 26 Migration Center User's Manual

filesync: 검증단계에서데이터일치작업수행두번째인자는구축또는실행하려는프로젝트의경로로, 상대또는절대경로모두가능하다. 인자가생략되면, Migration Center 는 GUI 모드로실행될것이다. Migration Center 시작하기 27

도구 이절은 Migration Center 에포함되어있는두가지유틸리티에 대해그사용법을소개한다. PSM Converter for File PSM Converter for File 은오라클의 PL/SQL 을 ALTIBE HDB PSM 으로변환한다. 이도구는오라클 PL/SQL 구문이들어있는 SQL 파일을읽어서 ALTIBE HDB PSM 으로전환한다음, 결과를미리정의한 SQL 파일에기록한다. 이파일은 HTML 형식의보고서파일과함께제공된다. 이도구의기능은내부적으로마이그레이션조정단계에서의 "PSM Converter" 와동일하다. 이도구의변환규칙에대한상세한내용은 "D. 부록 : PSM 변환기규칙목록 " 을참고하기바란다. PSM Converter for File 는메인메뉴의 Tools -> PSM Converter for File 로실행할수있다. ALTIBE XDB 는 PSM 변환기를지원하지않는다. Generate Migration Error Report Generate Migration Error Report 는 Migration Center 에서발생하는문제를보고하는유틸리티이다. 프로젝트를연후에, 이도구를실행하면로그파일, 리비전번호같은문제추적정보를수집하여 zip 파일을생성한다. 사용자는이 zip 파일을첨부하여 Altibase 고객서비스포털에고객등록정보와함께보내기만하면된다. 이툴은메인메뉴의 Tools -> Generate Migration Error Report 로실행할수있다. 28 Migration Center User's Manual

3. GUI 모드퀵가이드 이장은 Migration Center 를처음접하는사용자들이 GUI 모드 Migration Center 를각단계별로사용할수있도록간략한지침을 제공한다. Migration Center 내부 29

단계별지침 사용자들은이절에명시된지침을따라 GUI 모드로쉽게 마이그레이션을수행할수있다. 전반적인과정은아래와같다. 1. Migration Center 시작 2. 프로젝트준비 A. 원본데이터베이스와대상데이터베이스연결등록 B. 프로젝트생성 C. 프로젝트열기 D. 원본및대상데이터베이스에연결 E. 마이그레이션옵션설정 3. 프로젝트구축 4. 프로젝트조정 5. 프로젝트실행 6. 프로젝트검증 Migration Center 시작 마이크로소프트윈도우환경에서는 "migcenter.bat" 아이콘을더블클릭해서 Migration Center 를 GUI 모드로실행할수있다. 유닉스계열의운영체제에서는 "migcenter.sh" 를실행한다. 32 비트윈도우환경이아닌다른환경에서이도구를사용한다면, 자바런타임환경 (JRE) 이설치되어있는지, 또터미널에서자바런타임환경 (JRE) 에접근가능하도록적절한 PATH 환경변수가정의되어있는지확인한다. 데이터베이스연결등록 1. "Database" 메뉴아래의 "Add Database Connection" 메뉴항목을선택하거나, 도구모음에서 "Add Database Connection" 아이콘을클릭한다. 2. "Add Database Connection" 대화상자에서다음의입력필드를채운다. A. DB Product: 데이터베이스시스템의이름. B. Connection Name: Migration Center 프로젝트에서사용될고유한데이터베이스연결이름 C. IP: 데이터베이스서버의 IP 주소. 30 Migration Center User's Manual

D. Port: 데이터베이스서버의포트번호 E. User: 데이터베이스에서유효한사용자 ID F. Password: 사용자 ID 의비밀번호 G. JDBC Driver: 데이터베이스에연결하기위해사용될 JDBC 드라이버파일의경로 H. Encoding: 클라이언트가사용하는기본문자 집합 (character set) I. IP Version: 이연결에사용될 IP 프로토콜의버전 J. Property: 이연결에사용될 JDBC 드라이버프로퍼티. 3. 이연결을연결목록에추가하기전에, 입력한사항을확인하기 위해대화상자하단의 "Test" 버튼을클릭한다. 4. 연결테스트에통과하면, 대화상자하단의 "OK" 버튼을눌러서 이연결을연결목록에추가하고 "Add Database Connection" 대화상자를닫는다. 프로젝트생성 1. "Project" 메뉴아래의 "Create Project" 메뉴항목을선택하거나, 도구모음에서 "Create Project" 아이콘을클릭한다. 2. "New Project" 대화상자에서입력필드를채운다 : A. Project Name: Migration Center 에서고유하고사용자에게의미있는마이그레이션프로젝트이름 B. Project Path: 마이그레이션프로젝트파일을저장할폴더경로이다. 그러나, 이값은사용자가편집할수없다. C. Source Database: 이프로젝트에서마이그레이션될데이터베이스객체를가지고있는데이터베이스로의연결 D. Destination Database: 원본데이터베이스의데이터베이스객체를복사하여저장할 ALTIBE HDB 데이터베이스로의연결. 프로젝트가 "DB to File" 마이그레이션으로구성되었더라도, 이입력필드는필수이다. 3. 프로젝트를생성하려면 "New Project" 대화상자하단의 "OK" 버튼을클릭한다. 프로젝트열기 프로젝트를열려면, "Project" 메뉴아래의 "Open Project" 메뉴항목을선택한다. 그러면, 파일열기대화상자가나타날것이다. 사용자는프로젝트폴더를선택해서 "Open" 버튼을누르기만하면된다. Migration Center 내부 31

프로젝트구성 사용자들은세부사항을설정하기전에프로젝트의기본전략을 구성할수있다. 전체설명은 " 부록 A. 마이그레이션옵션 " 을 참고한다. 원본및대상데이터베이스로연결 원본및대상데이터베이스로의연결은 " 구축 " 단계로진행하기위해필수적이다. 프로젝트에서데이터베이스로연결하려면, "Project" 메뉴아래의 "Connect" 메뉴항목을선택하거나, 열려진프로젝트에오른쪽마우스버튼을클릭해서 "Connect" 를선택한다. 프로젝트구축 " 구축 " 단계는마이그레이션과정에서필수이지만, 그실행은간단하다. 1. "Project" 메뉴아래의 "Build" 메뉴아이템을선택하거나, 도구모음에서 "Build" 아이콘을클릭한다. 2. 원본데이터베이스의각테이블의레코드개수를어떤방식으로가져올지선택하는대화상자가나타난다. 원하는방법을선택하고 "OK" 버튼을클릭한다. 선택가능한옵션과각옵션에대한설명은 4 장의구축단계에서 " 내부동작 " 을참고한다. 3. "Build" 대화상자가나타나고진행상태가보일것이다. 끝나면, "Report" 버튼이하단에나타날것이다. 4. "Report" 버튼을누르면, HTML 보고서파일이프로젝트디렉터리에생성되고 "Build Report" 라는새로운대화상자가나타난다. 이대화상자는 HTML 보고서파일로의링크를제공한다. 한번 "Report" 버튼을눌러서 HTML 보고서파일이생성되면 "Report" 메뉴아래의 "Build Report" 메뉴항목이활성화되므로, 이메뉴항목을이용해서언제든지 "Build Report" 대화상자를열수있다. 프로젝트조정 " 조정 " 단계는 "Run" 이수행될방법을결정하기때문에, 마이그레이션과정에서아주중요하며, 양쪽데이터베이스에대한몇 32 Migration Center User's Manual

가지지식을필요로한다. 이절차에대한상세한내용은 "4 장 Migration Center 내부 " 를참고하도록한다. 다음은간단한지침이다 : 1. "Project" 메뉴아래의 "Reconcile" 메뉴항목을선택하거나, 도구모음에서 "Reconcile" 아이콘을클릭한다. 2. 팝업상자에서 "User Mode" 또는 "Table Mode" 를선택한다. 3. 앞단계에서 "Table Mode" 를선택했다면, 원본데이터베이스에서마이그레이션할테이블을선택한다. 4. 목적에맞게기본데이터타입맵핑을수정하거나그대로승인한다. 5. 원본데이터베이스에서기본대상인 ALTIBE HDB 의테이블스페이스를지정한다. 6. 원본데이터베이스의파티션드테이블이 ALTIBE HDB 로마이그레이션될방법을수정하거나지정한다. 7. 원본데이터베이스의각테이블또는인덱스에대해대상테이블스페이스를지정한다. 8. 원본데이터베이스의각테이블에서데이터추출시에사용할 SELECT 문을확인하고, 원한다면수정한다. 9. 스키마마이그레이션과정에서사용될 DDL SQL 문장들이올바른지확인하고, 그렇지않다면수정하라. 10. 이단계에대해보고서를생성하려면 "Report" 버튼을누른다. 프로젝트실행 " 실행 " 단계를실행하는것은프로젝트를구축하는것만큼이나간단하지만, 실행하면되돌릴수없다. 따라서, 더진행하기전에모든설정을확인하도록한다. 1. "Project 메뉴아래의 "Run" 메뉴항목을선택하거나, 도구모음에서 "Run" 아이콘을클릭한다. 2. 경고대화상자에서 "Ok" 를눌러서모든설정이제대로되었음을확인한다. 3. 진행상황및최종보고서를자세히살펴보도록한다. 프로젝트검증 " 실행 " 단계에서이관된데이터가올바르게수행되었는지검사한다. 1. "Project 메뉴아래의 "Data Validation" 메뉴항목을선택한다. Migration Center 내부 33

2. 경고대화상자에서 "Ok" 를눌러서, 모든설정이제대로되었는지확인한다. Data Validation 대화상자가나타나고 " 검증 " 단계가수행된다. 3. 데이터검증이완료되면 Data Validation 대화상자하단의 "Report" 버튼이활성화된다. 4. "Report" 버튼을누르면 HTML 보고서파일이프로젝트디렉터리에생성되고, "Data Validation Report" 대화상자가나타난다. 이대화상자는 HTML 보고서파일로의링크를제공한다. 한번 HTML 보고서파일이생성되면, "Report" 메뉴아래의 "Data Validation Report" 메뉴항목이활성화되므로, 이항목을이용해서언제든지 "Data Validation Report" 대화상자를열수있다. 5. 보고서에서원본과대상데이터베이스의데이터가불일치하면, "filesync" 기능을사용해서데이터를일치시킬수있다. 다음은 "filesync" 기능을사용하는절차이다. 1. "Migration" 메뉴아래의 "Migration Options" 메뉴항목을선택한다. 2. 경고대화상자에서 "Ok" 를누른다. 3. "Data Validation Options" 항목의 "Operation" 콤보박스에서 "FILESYNC" 를선택한다음, "Ok" 를누른다. 4. "Project" 메뉴아래의 "Reconcile" 메뉴항목을선택하거나, 도구모음에서 "Reconcile" 아이콘을클릭한다. 5. 팝업상자에서 "Table Mode" 를선택한다. 6. 데이터를일치시킬테이블을선택한다. 7. 계속 "Next" 를눌러조정 (Reconcile) 단계를완료한다. 8. "Project" 메뉴아래의 "Data Validation" 메뉴항목을선택한다. 9. Data Validation 대화상자가나타나고 "filesync" 기능이수행된다. 수행완료후 "Report" 버튼이창하단에활성화된다. 10. 보고서를확인해서데이터의불일치가해소되었는지확인한다. 34 Migration Center User's Manual

4. Migration Center 내부 이장은 Migration Center 의주요단계인구축, 조정, 실행및검증단계에대해상세히설명한다. 이장은아래의절을포함한다 : 구축단계 조정단계 실행단계 검증단계 Migration Center 내부 35

구축단계 목적 구축단계는원본및대상데이터베이스로부터데이터베이스객체에대한정보를수집할뿐만아니라, 사용자에게구축보고서를제공하여마이그레이션을좀더적절히수행할수있도록한다. 보고서는원본및대상데이터베이스의마이그레이션가능한객체를바이트크기정보와함께나열한다. 이정보는사용자에게마이그레이션분량에관한몇가지아이디어를제공하여, 마이그레이션에소요될저장공간및시간을추정하는데도움을줄것이다. 이단계에서모은정보는전체마이그레이션에걸쳐사용될것이다. 또한이는원본및대상데이터베이스의현재상태를반영하고있어야한다. 구축단계이후원본데이터베이스의데이터베이스객체에변경이발생했다면, 모든단계가재실행되어야한다. 출력 구축보고서 : 프로젝트폴더에 HTML 형식으로원본및대상 데이터베이스의현재상태에기반한다수의저장공간분석 보고서가출력된다. 내부동작 이단계는양쪽데이터베이스로부터데이터베이스객체에대한정보를수집하고그정보에기반하여구축보고서를생성하는두가지내부동작으로구분된다. 이단계에서는먼저데이터베이스객체에대한정보중에서테이블들의레코드개수를수집하는 "How to count records in tables?" 대화상자가나타난다. 사용자는다음중한가지방법을선택할수있다. Approximate Counting Method: 원본데이터베이스의통계값을참조하여테이블의레코드개수를가져온다. 통계값의정확도에따라레코드개수의정확도가달라진다. 36 Migration Center User's Manual

Exact Counting Method: 원본데이터베이스의모든테이블을대상으로 count 함수를수행하여정확한테이블의레코드개수를가져온다. 두가지방법중에 "Approximate Counting Method" 이 "Exact Counting Method" 보다빠르지만, 보다정확한테이블레코드개수를수집하려면후자를선택하는것이좋다. 하지만사용자가이대화상자에서어떤방법을선택하더라도데이터베이스스키마와데이터마이그레이션에는전혀영향을미치지않는다. 다만 Migration Center GUI 모드의실행단계에서제공되는데이터마이그레이션진행률의정확도에만영향을미친다. 이는데이터마이그레이션진행률이경과된시간과함께 ( 이전된레코드개수 / 수집된전체레코드개수 ) 의백분율로표시되기때문이다. 사용자는이데이터를기반으로마이그레이션에소요될전체시간을추정해볼수있다. 구축단계를수행하는방법은 3 장에서 " 프로젝트구축 " 절을참고하도록한다. Migration Center 내부 37

조정단계 목적 조정단계는마이그레이션계획을구성하는단계를의미한다. Migration Center 사용자는각데이터베이스의객체를어떻게마이그레이션을할것인지계획을가지고있어야한다. Migration Center 는모든데이터베이스객체를 ALTIBE HDB 로마이그레이션할수없지만, 마이그레이션에대한모든제어를허용하여마이그레이션을쉽게할수있도록해준다. ALTIBE HDB 는인-메모리데이터베이스로서의고성능과디스크기반데이터베이스로서의대용량의이점을가지고있다. ALTIBE XDB 는인-메모리데이터베이스의이점을충분히활용한고성능을지원한다. 따라서 ALTIBE HDB 의일반적인사용전략은빈번히사용되며낮은대기시간이요구되는데이터를메모리테이블스페이스에저장하고, 나머지데이터를디스크테이블스페이스에저장하는것이다. ALTIBE XDB 는대기시간이적고, 빈번하게사용되는데이터를메모리테이블스페이스에저장할때사용된다. ALTIBE HDB 의테이블스페이스에대한자세한내용은각각의 Administrator's Manual 을참고한다. 출력 조정보고서 : 프로젝트폴더에마이그레이션할데이터베이스객체및마이그레이션하는방법을명시하는다수의보고서가출력된다. SQL 데이터정의어 (DDL) 스크립트 : 사용자편의를위해, 프로젝트폴더에대상데이터베이스에데이터베이스객체를생성하고삭제하는샘플 SQL 스크립트파일이출력된다. 그러나이파일들은 Migration Center 의어느단계에서도사용되지않는다. DbObj_Create.sql: 마이그레이션될데이터베이스객체를생성하는 SQL 스크립트파일 DbObj_Drop.sql: 마이그레이션될데이터베이스객체를삭제하는 SQL 스크립트파일 38 Migration Center User's Manual

DbObj_Unsupported.sql: 지원되지않는데이터베이스객체를생성하는 SQL 스크립트파일 PL/SQL 변환보고서 : PL/SQL 변환기에서출력하는다수의보고서이다. sqlconv.html: 원본과변환된 PL/SQL 의차이를비교하는 HTML 형식의보고서 sqlconv_src.sql: 입력된 PL/SQL 문을텍스트형식으로출력하는보고서 sqlconv_dest.sql: 변환된 PL/SQL 문과적용된규칙이코멘트로덧붙여져있는텍스트형식의보고서 내부동작 조정단계는매우중요하고복잡해질수있음에도불구하고, 그위저드는 UI 처럼따라가기에쉽다. 조정단계를시작하는방법은 3 장에서 " 프로젝트조정 " 절을참고하기바란다. "User/Table Mode" 대화상자 "User/Table Mode" 대화상자는이단계의첫번째대화상자로, 마이그레이션의범위를결정한다. User 모드는원본데이터베이스에서모든지원되는데이터베이스객체를마이그레이션대상으로포함한다. 반면, Table 모드는테이블과테이블에관련된객체만을마이그레이션대상으로고른다. 더자세한내용은 "B. 부록 : 마이그레이션가능한데이터베이스객체 " 를참고하도록한다. 사용자가 User 모드를선택하면, 다음위저드대화상자에는 "Set Target Tables" 메뉴항목이상단에나타나지않을것이다. 하지만, 나머지메뉴항목은 Table 모드를선택한것과동일하게사용할수있을것이다. 조정위저드대화상자 조정위저드대화상자는 "User/Tables Mode" 대화상자다음에나타날것이다. 이위저드는기본설정을보여주고, 사용자가그설정을수정할수있도록해준다. 이것은사용자에게각메뉴항목을순차적으로안내하지만, 사용자가왼쪽창에서선택하여특정메뉴아이템으로이동할수도있다. "Set Table Name" 대화상자 "Set Target Tables" 메뉴아이템은이전단계에서 Table 모드가 Migration Center 내부 39

선택된경우에만사용할수있다. 마이그레이션대상테이블은 "Add/Remove" 버튼과바로뒤의대화상자에서선택할수있다. Add 버튼을누르면 "Set Table Name" 대화상자가나타난다. 사용자는 Candidate 목록에서이관하길원하는테이블들을선택하고화살표버튼을눌러 Selected 목록으로옮길수있다. 다수의테이블을처리하는경우사용자편의성을고려하여파일을이용한테이블지정기능도지원한다. Candidate 목록하단부의 'Export' 버튼을클릭하여 Candidate 목록에들어있는모든테이블의이름을파일로저장할수있다. 사용자는테이블목록이저장된파일에서이관하길원하는테이블이름만남도록편집한후, Selected 목록하단부의 'Import' 버튼을클릭하여해당파일을선택하면된다. 테이블목록이저장된파일을편집할때테이블의이름은 Candidate 목록에있는이름을그대로사용해야하며, 테이블이름은개행분자로구분되어야한다. 즉, 한라인에하나의테이블이름을써야한다. 또한파일의인코딩은 'UTF-8' 로설정되어야한다. "Data Type Mapping" 단계 "Data Type Mapping" 단계에서는이기종데이터베이스간의데이터타입을맵핑할수있다. 데이터타입의작은차이는데이터를마이그레이션하는동안예기치못한데이터손실및데이터절단을일으킬수있다. 따라서, 사용자는이를주의해야한다. 더자세한내용은 "C. 부록 : 데이터타입맵핑 " 을참고한다. "PSM Data Type Mapping" 단계 "PSM Data Type Mapping" 단계에서는서로다른데이터베이스간의 PSM 데이터타입을맵핑할수있다. 이단계는 "Oracle to ALTIBE HDB PSM Migration" 수행시에만활성화된다. 이단계에서정의된내용은나중에 PSM 마이그레이션의 "SQL Editing" 단계에서대상 DDL 에반영될것이다. "Tablespace to Tablespace Mapping" 단계 "Tablespace to Tablespace Mapping" 단계에서는원본및대상데이터베이스간의테이블스페이스를맵핑할수있다. 테이블스페이스맵핑이설정되면, 테이블스페이스의내용물또한선택된테이블스페이스로모두함께맵핑된다. 이단계는기본테이블스페이스맵핑을생성하는데, 이맵핑은 "Object to 40 Migration Center User's Manual

Tablespace Mapping" 메뉴항목을사용해서변경할수있다. "Object to Tablespace Mapping" 단계 "Object to Tablespace Mapping" 단계에서는각각의테이블및인덱스를드래그앤드롭하여대상데이터베이스상의테이블스페이스로맵핑할수있다. 맵핑이변경될때마다대상데이터베이스상의관련테이블스페이스에대해필요한전체저장공간크기가다시계산된다. 내부적으로, 데이터베이스객체의크기는바이트단위로정확하게유지되지만, 대화상자에는그값을반올림하여 MB 단위로보여준다. 따라서, 테이블스페이스의전체크기는그내용물의합계와동일하지않을수도있다. "Select Editing" 단계 "Select Editing" 단계에서는원본데이터베이스의테이블로부터데이터추출시에사용할 SELECT 문을수정할수있다. 사용자는 SELECT 문에힌트나 WHERE 절을추가하는등의편집이가능하며, 편집한 SELECT 문을바로확인할수있다. 수정한것을취소하고싶다면 Restore 버튼을누르면된다. "SQL Editing" 단계 "SQL Editing" 단계는사용자에게스키마마이그레이션에사용될 DDL 문장을확인하고수정하는기능을제공한다. 사용자는원본 DDL 문장을참조하여 Migration Center 가대상데이터베이스에사용할 DDL 문장을직접편집하면된다. 프로시저, 함수, 트리거및뷰객체를생성하는 SQL 문장은모두 PSM 타입으로표시된다. 사용자는 PSM 카테고리내에있는체크박스를조작하여편집하고자하는객체타입을선택할수있다. 체크박스를조작해서선택한객체들은 Done 또는 To-Do 리스트창에표시된다. 사용자의확인이필요한객체는 To-Do 리스트에표시되고, 그렇지않은객체는 Done 리스트에표시된다. 각리스트에서객체이름을클릭하면해당객체의원본및대상 DDL 문장이출력된다. To-Do 리스트에속한객체 DDL 문장을편집한후, Save 버튼을누르면해당객체가 Done 리스트로이동할것이다. 예상치못하게 Done 리스트에속한객체의마이그레이션이실행단계에서실패할수도있다. 이경우, 사용자가 Run Report 의 Missing Cause 를확인하여오류의원인을파악한다음, 수동으로해당객체를마이그레이션해야한다. 텍스트편집기를선호하는사용자를위해, 선택된 PSM 객체 DDL 문장을파일로출력하는기능이제공된다. 이기능은 PSM 객체타입의 Off-line 창에서제공되며, 사용법은 Off-line 창에기술되어있다. Oracle 을 Migration Center 내부 41

ALTIBE HDB 로마이그레이션하는경우, Migration Center 에내장되어있는 PL/SQL 변환기가 PSM 타입객체 DDL 문장을 ALTIBE 에호환되는형태로변환한다. 단, 대부분의문법에대해서는변환이수행되지만, 의미적인로직 (semantic logic) 이포함된문장에대해서는변환이이루어지지않으므로사용자의확인이필요하다. * 주의 : 오라클에서 ALTIBE 로마이그레이션을할경우, Migration Center 는구축단계에서원본데이터베이스객체간의의존성그래프를만든다. 사용자가대상 DDL 문장을편집하는중에이의존성을변경한다면, 해당객체및그에관련된객체에대해서마이그레이션이보장되지않는다. 42 Migration Center User's Manual

실행단계 목적 실행단계는원본데이터베이스의데이터베이스객체를마이그레이션옵션에따라대상데이터베이스또는외부파일로복사한다. 사용자에게는이단계의결과가가장중요할수있다. 실행단계완료후에생성되는실행보고서에그결과가담겨있다. RunReport4Summary.html 보고서파일은원본및대상데이터베이스간의데이터베이스객체의개수및테이블레코드의개수를비교하여전반적인결과를제공한다. RunReport4Missing.html 보고서파일에는실패한마이그레이션에대해상세히기술된다. 마이그레이션에실패한데이터는프로젝트폴더의 "db2db" 또는 "db2file" 폴더에수집된다. 이두폴더에는 iloader(altibe HDB 의커맨드라인데이터 import/export 도구 ) 에서사용가능한데이터파일및폼파일이저장된다. 각폴더에는생성된데이터파일을 iloader 를사용해서편리하게데이터베이스로가져올수있는스크립트가추가로저장된다. "iloaderln.sh" 는다른스크립트파일및각테이블에대해 iloader 를실행하는 "iloaderln.number.sh" 스크립트를실행하는주스크립트이다. 출력 RunReport4Summary.html: 마이그레이션수행에대한전반적인결과를제공하는요약보고서파일. RunReport4Missing.html: 실패한마이그레이션데이터에대한정보및실패원인을제공하는보고서파일. DbObj_Failed.sql: 실패한 SQL 문의목록과실패원인을제공하는파일. db2db 폴더 : 프로젝트디렉터리의하위폴더로써, 실패한마이그레이션데이터가저장된다. 이폴더는 "Migration Type" 으로 "DB to DB" 옵션이선택되고 "Batch Execution" 에 "No" 가선택된경우에만유효하다. db2file 폴더 : "Migration Type" 으로 "DB to File" 옵션이선택된경우에모든출력이저장되는프로젝트디렉터리의하위폴더. Migration Center 내부 43

내부동작 실행단계는 GUI 모드에서한번의마우스클릭또는 CLI 모드에서하나의커맨드만으로실행될수있다. 실행단계수행방법은 " 프로젝트실행 " 또는 "CLI 모드로실행, 검증단계수행 " 절을참고한다. 내부적으로, 이과정은데이터베이스객체종속성을피하기위해 PreSchema 단계, 테이블및데이터단계, PostSchema 단계의세단계로구성된다. 예를들어, 인덱스객체는테이블및데이터단계가완료된후 PostSchema 단계에서마이그레이션된다. 왜냐하면, 보통인덱스가없는상태에서데이터를삽입하는것이인덱스가있는경우보다더빠르기때문이다. 각단계별상세동작은다음과같다 : 1. PreSchema: sequence 객체마이그레이션 2. Table & Data: 테이블객체및데이터마이그레이션 3. PostSchema: A. Queue: 큐객체마이그레이션 B. Constraints: 유니크, 프라이머리키, 외래키, 및 check 제약조건등의제약조건마이그레이션 C. Index: 인덱스객체마이그레이션 D. Synonym: PRIVATE 시노님객체마이그레이션 E. Procedures, Functions, Materialized Views, Views, Typesets 및 Triggers: DBMS 및버전에따라상이함 44 Migration Center User's Manual

검증단계 목적 검증단계에서는실행단계에서수행한데이터이관이정확하게수행되었는지검사한다. 검증이완료된후, 사용자에게검증보고서를제공하여사후처리를적절히수행할수있도록한다. 보고서는원본및대상데이터베이스의정보와함께검증을완료한테이블리스트및데이터일치, 불일치건수정보를나열한다. 사용자는이정보를확인하여실행단계를다시수행할것인지, FILESYNC 기능을사용할것인지여부를결정할수있다. 데이터의불일치건수가적을때는 FILESYNC 기능을사용하고, 데이터불일치건수가많을때에는실행단계를재수행할것을권장한다. 제약조건 Primary Key 제약조건이존재하는테이블에한해서만검증 단계를수행할수있다. LOB 칼럼은데이터비교대상에서제외된다. 출력 검증보고서 : 검증이완료된테이블리스트및데이터일치, 불일치건수정보같은 summary 정보가기록된보고서가프로젝트디렉터리에출력된다. validation 디렉터리 : 프로젝트디렉터리의하위디렉터리로써, 불일치데이터가저장된다. 이디렉터리는 "Data Validation Options" 항목에서 "Write to CSV" 로 "Yes" 옵션이선택된경우에만사용된다. 내부동작 검증단계는 GUI 모드에서한번의마우스클릭또는 CLI 모드에서 하나의명령만으로실행될수있다. 검증단계수행방법은 Migration Center 내부 45

" 프로젝트검증 " 또는 "CLI 모드로실행, 검증단계수행 " 절을참고한다. 내부적으로검증단계는다음과같이수행된다. 원본과대상데이터베이스에서검증할데이터를가져와서비교한다. 불일치하는데이터가발견되고, "Data Validation Options" 항목의 "Write to CSV" 가 "Yes" 로설정된경우, 불일치하는데이터에해당하는원본데이터를 validation 폴더에 CSV 형식으로저장한다. 이때옵션에상관없이 Summary 정보는검증보고서에항상기록된다. 46 Migration Center User's Manual

A. 부록 : 마이그레이션옵션 마이그레이션옵션은마이그레이션프로젝트에영향을미치며, GUI 모드에서 "Migration Option" 메뉴아이템을선택해서편집가능하다. 마이그레이션옵션은대부분프로젝트가생성된직후에편집할수있다. 기본옵션은 "DB to DB" 또는 "DB to File" Migration Type 이다 : DB to DB 마이그레이션옵션 DB to File 마이그레이션옵션 A. 부록 : Migration Center 옵션 47

DB to DB 마이그레이션옵션 이름 설명 Migration Target 마이그레이션될대상 : * Object & Data: 데이터베이스객체및테이블데이터 * Object: 데이터베이스객체만 * Data: 테이블데이터 Execution Thread 데이터를마이그레이션하기위해동시에사용할쓰레드의 최대개수 Object Options: 외래키제약조건을마이그레이션할지여부 Foreign Key Migration Object Options: PSM Migration 프로시저, 함수, materialized view, 뷰, typeset, 및트리거를마이그레이션할지여부 Object Options: Drop Existing Objects 데이터를복사하기전에모든대상데이터베이스객체를대상데이터베이스에서삭제하고생성할지여부를지정 Object Options: Keep Partition Table 파티션드테이블을논파티션드테이블로변경할지여부를지정 Object Options: Use 스키마와객체이름에큰따옴표를사용할지여부를지정 Double-quoted Identifier Object Options: ALTIBE HDB의 예약어와 충돌할 경우, 원본 Postfix for reserved word 데이터베이스의데이터베이스객체이름뒤에자동으로붙을사용자정의단어를지정 Data Options: Batch 고성능을위해 JDBC 배치입력을사용할지여부를지정 Execution Data Options: Batch JDBC 배치입력사용시배치크기를지정 Size Data Options: Log Insert-failed Data DB2DB 마이그레이션중에삽입실패한데이터를기록할지여부를지정. 이옵션은배치수행옵션이비활성화되어있는 경우에만사용할수있다. Data Files: File Encoding 스크립트파일과데이터파일출력에사용될인코딩문자집합을지정 Data Validation Options : Operation 검증단계에서수행할연산 * DIFF : 원본및대상데이터베이스간데이터불일치검사 * FILESYNC: DIFF의결과로생성된 CSV 파일을대상 데이터베이스에반영 Data Validation 불일치데이터를 CSV 파일로내려쓸지여부 Options : Write to CSV Data Validation Options : Include LOB 불일치데이터를 CSV 파일로내려쓸때 LOB 데이터를포함할지여부 48 Migration Center User's Manual

Data Validation Options : Data Sampling Data Validation Options : Percent Sampling (exact counting) Data Validation Options : Record Count Sampling (approximate counting) 샘플링데이터에한해서데이터검증할지여부테이블에서샘플링할데이터의비율을퍼센트단위로지정. 구축단계에서 Exact Counting Method를선택한경우에이옵션이사용된다. 테이블에서샘플링할레코드의개수를지정. 구축단계에서 Approximate Counting Method를선택한경우에이옵션이사용된다. A. 부록 : Migration Center 옵션 49

DB to File 마이그레이션옵션 이름 설명 Execution Thread 데이터를마이그레이션하기위해동시에사용할쓰레드의최대개수 Migration Target 마이그레이션될대상 : * Object & Data: 데이터베이스객체및테이블데이터 * Object: 데이터베이스객체만 * Data: 테이블데이터 Object Options: Foreign Key 외래키제약조건을마이그레이션할지여부 Migration Object Options: PSM Migration 프로시저, 함수, 뷰, 트리거를마이그레이션할지여부 Object Options: Keep Partition 파티션드테이블을논파티션드테이블로변경할지 Table 여부를지정 Object Options: Use Doublequoted Identifier 여부를지정스키마와객체이름에큰따옴표를사용할지 Data Files: File Encoding 스크립트와데이터파일출력에사용될인코딩문자집합을지정 50 Migration Center User's Manual

B. 부록 : 마이그레이션가능한 데이터베이스객체 B. 부록 : 마이그레이션가능한데이터베이스객체 51

타데이터베이스 to ALTIBE HDB User 모드에서 Table 모드에서데이터베이스객체마이그레이션마이그레이션유형가능여부? 가능여부? 비고 Table O O Oracle( 원본데이터베이스 ) 의임시테이블을 ALTIBE HDB( 대상데이터베이스 ) 로마이그레이션하기위해서는휘발성테이블스페이스가 ALTIBE HDB에있어야한다. ALTIBE HDB의임시테이블은휘발성테이블스페이스에만생성할수있기때문이다. Primary Key 제약 O O Unique 제약 O O Check 제약 O O Foreign Key 제약 O O Index O O Sequence O O Queue 부분지원 원본데이터베이스로 ALTIBE HDB만지원 Private Synonym Procedure 부분지원 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 Function 부분지원 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 View 부분지원 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 Materialized View 부분지원 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 Trigger 부분지원 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 52 Migration Center User's Manual

타데이터베이스 to ALTIBE XDB User 모드에서 Table 모드에서데이터베이스객체마이그레이션마이그레이션유형가능여부? 가능여부? 비고 Table O O ALTIBE XDB는임시테이블을지원하지않으므로마이그레이션기능이지원되지않는다. Primary Key 제약 O O Unique 제약 O O Check 제약 X X Foreign Key 제약 O O Index O O Sequence O O Queue 부분지원 X 원본데이터베이스로 ALTIBE HDB와 ALTIBE XDB만지원 Private Synonym X X Procedure 부분지원 X 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 Function 부분지원 X 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 View 부분지원 X 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 Materialized View X X Trigger 부분지원 X 원본데이터베이스로 Oracle과 ALTIBE HDB만지원 B. 부록 : 마이그레이션가능한데이터베이스객체 53

C. 부록 : 데이터타입맵핑 이기종데이터베이스들간의데이터타입을맵핑하기위한 Migration Center 정책은 " 데이터손실을최소화하라 " 이다. 그러나데이터가손실되거나손상되더라도데이터가맵핑되는방식을사용자가정의하길원하는상황이발생할수도있다. 이런요구를충족시키기위해 Migration Center 는데이터타입맵핑테이블을편집하는방법도제공한다. 이부록은기존프로젝트에대해기본데이터타입맵핑을확인하고커스터마이징하는방법에대해설명한다. 마지막으로데이터타입기본맵핑테이블을제공한다. 데이터타입맵핑조작 기본데이터타입맵핑테이블 C. 부록 : 데이터타입맵핑 55

데이터타입맵핑조작 사용자는기본데이터타입맵핑을확인하고, 아래의방법을사용하여데이터가맵핑되는방식을수정할수있다 : 1. 프로젝트에대해조정단계를수행하라. 2. 데이터타입맵핑단계에서, 조작할데이터타입을선택한다음 "Change" 버튼을클릭하라. 3. 적절한새로운데이터타입을지정하고 precision 및또는 scale 값을설정하라. 56 Migration Center User's Manual

기본데이터타입맵핑테이블 오라클데이터베이스 to ALTIBE HDB 인덱스 소스 대상 특이사항 1 CHAR CHAR 2 NCHAR NCHAR 원본및대상데이터베이스의 NCHAR 칼럼의명시적인크기는같다 ( 예. NCHAR(10) -> NCHAR(10)). 그러나, 오라클 JDBC 드라이버에서는 NCHAR 칼럼의크기가사용되는바이트의개수로정의되는반면, ALTIBE HDB의 JDBC 드라이버에서는 NCHAR 칼럼의크기가저장되는문자의개수로정의된다. 이는 ALTIBE HDB에서생성되는 NCHAR 칼럼이필요에따라오라클보다 2 배또는 3 배정도클것이라는의미이므로, 이런점을유의하도록한다. 3 VARCHAR2 VARCHAR 4 NVARCHAR2 NVARCHAR NCHAR와같은이유로, 칼럼크기가서로다르다. 5 LONG CLOB 6 NUMBER NUMERIC 오라클에서 precision과 scale 없이정의된 NUMBER 타입칼럼은 ALTIBE HDB 에서도동일하게 precision과 scale이없는 NUMBER 타입으로변환된다. * 참고 : 오라클과 ALTIBE HDB 모두 precision과 scale 없이 NUMBER 타입으로칼럼을정의하면데이터베이스내부적으로 FLOAT 타입으로다루어진다. 7 FLOAT FLOAT 8 BINARY FLOAT FLOAT 9 BINARY DOUBLE VARCHAR(310) ALTIBE HDB 에는오라클 BINARY DOUBLE 타입과호환되는데이터타입이없으므로데이터손실을막기위해문자형으로저장된다. 10 DATE DATE 11 TIMESTAMP DATE 스케일의차이로인해서소량의데이터손실이발생할수있다. 오라클에서는 C. 부록 : 데이터타입맵핑 57

12 RAW BLOB 13 LONG RAW BLOB 14 BLOB BLOB 15 CLOB CLOB 16 NCLOB NVARCHAR(10 666) 17 ROWID VARCHAR(18) 타임스탬프값의스케일이나노초 (9 자리수 ) 인반면, ALTIBE HDB 에서는타임스탬프값의스케일이마이크로초 (6 자리수 ) 이다. ALTIBE HDB 에는오라클 NCLOB 타입과호환가능한데이터타입이없으므로, 최대크기의 NVARCHAR 타입으로변환된다. 실제데이터크기가 NVARCHAR 최대크기를초과하는경우, 데이터를마이그레이션하는동안데이터손실이발생할수도있다. MS SQL Server to ALTIBE HDB 인덱스 소스 대상 특이사항 1 BIGINT BIGINT 2 DECIMAL NUMERIC 3 INT INTEGER 4 NUMERIC NUMERIC 5 SMALLINT SMALLINT 6 MONEY FLOAT 7 TINYINT SMALLINT 8 SMALLINTMO FLOAT NEY 9 BIT CHAR(1) 10 FLOAT VARCHAR(310) ALTIBE HDB 에는 SQL Server FLOAT 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR(310) 으로맵핑된다. 11 REAL FLOAT 12 DATE DATE 13 DATETIME2 DATE 스케일의차이로인해서시간의 fraction 손실이발생할수있다. SQL Server의 DATETIME2 타입스케일이나노초의 100 배 (7 자리수 ) 인반면, ALTIBE HDB 58 Migration Center User's Manual

14 DATETIME DATE 15 SMALLDATETI DATE ME 16 CHAR CHAR 17 TEXT CLOB 18 VARCHAR VARCHAR 19 VARCHAR CLOB (MAX) 20 NVARCHAR NVARCHAR 21 NVARCHAR (MAX) NVARCHAR (10666) 22 BINARY BYTE 23 IMAGE BLOB 24 VARBINARY BLOB 25 ALLIDENTITY NUMERIC(38, 0) 26 UNIQUEIDENT VARCHAR(40) IFIER 27 SYSNAME NVARCHAR (128) 에서는 DATE 타입의스케일이마이크로초 (6 자리수 ) 이다. ALTIBE HDB 에는 SQL Server NTEXT 타입과호환가능한데이터타입이없다. 최대크기의 NVARCHAR 타입이사용된다. 실제데이터길이가최대 NVARCHAR 크기를초과하는경우, 데이터를마이그레이션하는동안데이터손실이발생할수도있다. ALTIBE HDB 에는 SQL Server UNIQUEIDENTIFIER 타입과호환가능한데이터타입이없으므로, 데이터손실을방지하기위해 VARCHAR 타입이사용된다. MySQL to ALTIBE HDB 인덱스 소스 대상 특이사항 1 TINYINT SMALLINT 2 TINYINT SMALLINT UNSIGNED 3 SMALLINT INTEGER 4 SMALLINT INTEGER UNSIGNED 5 MEDIUMINT INTEGER C. 부록 : 데이터타입맵핑 59

6 MEDIUMINT INTEGER UNSIGNED 7 INT (INTEGER) INTEGER 주의 : ALTIBE HDB의 INT 타입의 최소값 (-2,147,483,647) 은 MySQL INT 타입의최소값 (-2,147,483,648) 보다크다. 8 INT UNSIGNED BIGINT 9 BIGINT BIGINT 주의 : ALTIBE HDB의 BIGINT 타입의최소값 (- 9,223,372,036,854,775,807) 은 MySQL BIGINT 타입의최소값 (- 9,223,372,036,854,775,808) 보다크다. 10 BIGINT UNSIGNED NUMERIC(20,0) ALTIBE HDB에는 MySQL BIGINT UNSIGNED 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 NUMERIC 타입으로맵핑된다 11 DECIMAL (NUMERIC) VARCHAR(70) ALTIBE HDB 에는 MySQL DECIMAL 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. 12 FLOAT FLOAT 13 DOUBLE VARCHAR(310) ALTIBE HDB에는 MySQL DOUBLE 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. 14 BIT VARBIT 15 DATETIME DATE 시각부분이 0 으로설정된다. 16 DATE DATE 17 TIMESTAMP DATE TIMEZONE 제외 18 CHAR CHAR 19 VARCHAR CLOB VARCHAR 타입의최대크기는 MySQL(65,536) 이 ALTIBE HDB (32,000) 보다크기때문에, 데이터손실을막기위해 CLOB 타입으로맵핑된다. 20 CHAR with NCHAR National Character 21 VARCHAR with National NVARCHAR 60 Migration Center User's Manual

Character 22 BINARY BYTE 23 VARBINARY BLOB 24 TINYBLOB BLOB 25 MEDIUMBLOB BLOB 26 BLOB BLOB 27 LONGBLOB BLOB 28 TINYTEXT VARCHAR(255) 29 TEXT CLOB 30 MEDIUMTEXT CLOB 31 LONGTEXT CLOB 32 ENUM VARCHAR(10666) ALTIBE HDB에는 MySQL ENUM 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. 33 SET VARCHAR(10666) ALTIBE HDB에는 MySQL SET 타입과호환가능한데이터타입이없으므로, 데이터손실을막기위해 VARCHAR 타입으로맵핑된다. Informix 11.5 to ALTIBE HDB 인덱스 소스 대상 특이사항 1 BIGINT BIGINT 2 INT8 BIGINT 3 INT INTEGER 4 SMALLINT SMALLINT 5 BIGSERIAL BIGINT 6 SERIAL8 BIGINT 7 SERIAL INTEGER 8 FLOAT DOUBLE 9 REAL REAL 10 SMALLFLOAT REAL 11 MONEY NUMERIC 12 DECIMAL_FLOAT FLOAT 13 DATE DATE 14 DATETIME DATE 15 BOOLEAN CHAR(1) 16 CHAR CHAR CHAR 데이터 타입의 최대 크기는 C. 부록 : 데이터타입맵핑 61

Informix(32,767) 가 ALTIBE HDB(32,000) 보다크기때문에데이터손실이발생할수있음을염두에두어야한다. 17 NCHAR NCHAR NCHAR 데이터타입의최대크기는 Informix(32,767) 가 ALTIBE HDB(32,000) 보다크기때문에데이터 손실이발생할수있음을염두에두어야 한다. 18 VARCHAR VARCHAR 19 NVARCHAR NVARCHAR 20 LVARCHAR VARCHAR Informix의 LVARCHAR 데이터타입의 최대크기가 32,767 으로 ALTIBE HDB(32,000) 보다크기때문에데이터 손실이발생할수있음을염두에두어야 한다. 21 TEXT CLOB 22 CLOB CLOB CLOB 데이터 타입의 최대 크기는 Informix(4GB) 가 ALTIBE HDB (2GB) 보다크기때문에데이터손실이 발생할수있음을염두에두어야한다. 23 BYTE BLOB 24 BLOB BLOB BLOB 데이터 타입의 최대 크기는 Informix(4GB) 가 ALTIBE HDB (2GB) 보다크기때문에데이터손실이 발생할수있음을염두에두어야한다. 25 INTERVAL FLOAT 62 Migration Center User's Manual

D. 부록 : 기본값맵핑 ALTIBE HDB 의테이블칼럼의기본값은원본데이터베이스의기본값과대부분호환된다. 하지만이기종데이터베이스들간의기본값정책이일부상이하여, Migration Center 가이러한몇가지예외상황에대해원본데이터베이스의값을 ALTIBE HDB 정책에맞춰변환한다. 이부록은 Migration Center 가 ALTIBE HDB 에맞춰원본데이터베이스의기본값을변환하는기본값맵핑테이블을제공한다. D. 부록 : 기본값맵핑 63

기본값맵핑테이블 Migration Center 는데이터를이전하기전에마이그레이션대상데이터베이스인 ALTIBE HDB 에원본데이터베이스의테이블과동일한테이블을생성한다. 이를위해원본데이터베이스의테이블속성과일치하는테이블생성구문을먼저만든다. 이때 Migration Center 는원본테이블의칼럼기본값과동일하게대상테이블의칼럼에기본값을설정하려한다. 이절의맵핑테이블에나열된기본값은 Migration Center 가 CREATE TABLE 문생성시에표에따라변환하여지정한다. 그외의기본값은변경없이그대로 CREATE TABLE 문에지정된다. * 주의 : 변경없이그대로사용되는기본값중에는원본과대상데이터베이스간에호환이되지않는것이있을수있다. 필요하다면나중에사용자가 Reconcile 단계의 DDL Editing 창에서직접 CREATE TABLE 문의기본값을수정해야한다. 기본값맵핑정책 ALTIBE HDB 에설정가능한대부분의기본값은오라클등의원본데이터베이스의기본값과변경없이호환된다. 하지만아래의경우에는 Migration Center 가원본데이터베이스의기본값을 ALTIBE HDB 정책에맞춰변환한다. 문자형데이터타입의기본값이길이가 0 인문자열 ('') 인경우 : ALTIBE HDB 는길이가 0 인문자열을 NULL 로인식하므로, 기본값을지정하지않는다. 날짜형데이터타입의기본값이문자열표현인경우 : 원본데이터베이스별로날짜형을위한기본포맷이다르므로, Migration Center 는테이블생성구문에기본값대신에 DEFAULT 키워드가포함된주석을지정한다. 필요하다면나중에사용자가주석을참고하여직접기본값을설정해야한다. 단원본데이터베이스가 MySQL 일때, 아래의표처럼 Migration Center 가기본값을자동으로변환한다. 기본값에함수가사용된경우 : 아래표에열거된함수가원본데이터베이스의기본값으로단독사용된경우에한해서표와같이변환된다. 그외의함수또는복잡한형태의표현식일경우에는변경없이그대로변환된다. 필요하다면나중에사용자가직접변경해야한다. 64 Migration Center User's Manual

오라클데이터베이스 to ALTIBE HDB Expression Type 원본 ( 오라클 ) 대상 (ALTIBE HDB) 특이사항 문자형을위한 '' 문자열 날짜형을위한문자열 '97/04/21' /* DEFAULT '97/04/21' */ 함수 DBTIMEZONE DB_TIMEZONE() ALTIBE HDB 6.3.1.0.0 이상에서지원됨 ALTIBE XDB는지원되지않음 SYS_GUID() SYS_GUID_STR() ALTIBE HDB 6.3.1.0.0 이상에서지원됨 ALTIBE XDB는지원되지않음 UID USER_ID() USER USER_NAME() 아래는변환예제이다. 오라클의테이블생성 SQL문 CREATE TABLE testtbl_4_defval ( c1 INT DEFAULT 123, c2 VARCHAR(50) DEFAULT 'test', c3 INT DEFAULT NULL, c4 CHAR(10) DEFAULT '', c5 INT DEFAULT SQRT(144) + 72, c6 DATE DEFAULT '97/04/21', c7 DATE DEFAULT TO_DATE('1999-12-01', 'YYYY-MM-DD'), c8 VARCHAR(100) DEFAULT DBTIMEZONE, c9 VARCHAR(100) DEFAULT SYS_GUID(), c10 VARCHAR(100) DEFAULT UID, c11 VARCHAR(100) DEFAULT USER ); ALTIBE HDB의테이블생성 SQL문 CREATE TABLE TESTTBL_4_DEFVAL ( C1 NUMBER (38, 0) DEFAULT 123, C2 VARCHAR (50) DEFAULT 'test', C3 NUMBER (38, 0), C4 CHAR (10), C5 NUMBER (38, 0) DEFAULT SQRT(144) + 72, C6 DATE /* DEFAULT '97/04/21' */, C7 DATE DEFAULT TO_DATE('1999-12-01', 'YYYY-MM-DD'), C8 VARCHAR (100) DEFAULT DB_TIMEZONE(), C9 VARCHAR (100) DEFAULT SYS_GUID_STR(), C10 VARCHAR (100) DEFAULT USER_ID(), C11 VARCHAR (100) DEFAULT USER_NAME() ); MS SQL Server to ALTIBE HDB Expression Type 원본 (MS SQL Server) 대상 (ALTIBE HDB) 특이사항문자형을위한 '' 문자열 D. 부록 : 기본값맵핑 65

날짜형을위한문자열 'December 5, 1985' /* DEFAULT 'December 5, 1985' */ 함수 GETDATE() SYSDATE CURRENT_TIMESTAMP LEN( str_expression ) LENGTH( str_expression ) 아래는변환예제이다. 오라클의테이블생성 SQL문 CREATE TABLE testtbl_4_defval ( c1 BIT DEFAULT 0, c2 INT DEFAULT 2 + 3, c3 VARCHAR(50) DEFAULT 'test', c4 INT DEFAULT NULL, c5 NCHAR(10) DEFAULT '', c6 FLOAT DEFAULT sqrt(12 * 12), c7 DATE DEFAULT 'December 5, 1985', c8 DATE DEFAULT getdate(), c9 DATETIME DEFAULT CURRENT_TIMESTAMP, c10 INT DEFAULT len('test'), ); ALTIBE HDB의테이블생성 SQL문 CREATE TABLE TESTTBL_4_DEFVAL ( C1 CHAR (1) DEFAULT (0), C2 INTEGER DEFAULT (2)+(3), C3 VARCHAR (50) DEFAULT 'test', C4 INTEGER, C5 NCHAR (10), C6 VARCHAR (310) DEFAULT sqrt((12)*(12)), C7 DATE /* DEFAULT 'December 5, 1985' */, C8 DATE DEFAULT SYSDATE, C9 DATE DEFAULT SYSDATE, C10 INTEGER DEFAULT LENGTH('test') ); 66 Migration Center User's Manual

MySQL to ALTIBE HDB Expression Type 원본 (MySQL) 대상 (ALTIBE HDB) 특이사항 문자형을위한 '' 문자열 날짜형을위한문자열 '1989-04-28' TO_DATE('1989-04-28', 'YYYY-MM-DD') '1989-04-28 12:31:29' TO_DATE('1989-04-28 12:31:29', 'YYYY-MM- DD HH:MI:SS') '0000-00-00 00:00:00' /* DEFAULT '0000-00- 00 00:00:00' */ MySQL은날짜형타입의기본값이지정되지않으면자동으로 '0000-00-00 00:00:00' 으로지정된다. 하지만이값은 ALTIBE HDB의 DATE 타입에는입력이불가능한값이므로주석처리가된다. 함수 CURRENT_TI SYSDATE MESTAMP CURRENT_TI MESTAMP() NOW() LOCALTIME LOCALTIME() LOCALTIMEST AMP LOCALTIMEST AMP() * 참고 : MySQL 은테이블의첫칼럼의데이터타입이 TIMESTAMP 인경우, 사용자가기본값을지정하지않아도 기본값으로 CURRENT_TIMESTAMP 이자동으로지정된다. 따라서, 이경우기본값이 SYSDATE 으로변환된다. 아래의예제를참고하라. 아래는변환예제이다. 오라클의테이블생성 SQL문 CREATE TABLE testtbl_4_defval ( c1 TIMESTAMP NOT NULL, ALTIBE HDB의테이블생성 SQL문 CREATE TABLE TESTTBL_4_DEFVAL ( C1 DATE DEFAULT SYSDATE NOT D. 부록 : 기본값맵핑 67

c2 INT DEFAULT 123, c3 VARCHAR(50) DEFAULT 'test', c4 INT DEFAULT NULL, c5 CHAR(10) DEFAULT '', c6 DATE DEFAULT '1989-04- 28', c7 DATETIME DEFAULT '1989-04-28 12:31:29', c8 TIMESTAMP DEFAULT '1989-04-28 12:31:29' NOT NULL, c9 TIMESTAMP NOT NULL ); NULL, C2 INTEGER DEFAULT 123, C3 CLOB DEFAULT 'test', C4 INTEGER, C5 CHAR (10), C6 DATE DEFAULT TO_DATE('1989-04-28', 'YYYY-MM-DD'), C7 DATE DEFAULT TO_DATE('1989-04-28 12:31:29', 'YYYY-MM-DD HH:MI:SS'), C8 DATE DEFAULT TO_DATE('1989-04-28 12:31:29', 'YYYY-MM-DD HH:MI:SS') NOT NULL, C9 DATE /* DEFAULT '0000-00-00 00:00:00' */ NOT NULL ); Informix 11.5 to ALTIBE HDB Expression Type 원본 (Informix) 대상 (ALTIBE HDB) 특이사항 문자형을위한 '' 문자열 날짜형을위한 '2007-03-06' /* DEFAULT '2007-03-06' */ 문자열 함수 CURRENT SYSDATE TODAY 아래는변환예제이다. 오라클의테이블생성 SQL문 CREATE TABLE testtbl_4_defval ( c1 INTEGER DEFAULT 123, c2 BOOLEAN DEFAULT 't', c3 CHAR(100) DEFAULT 'test', c4 INTEGER DEFAULT null, c5 CHAR(10) DEFAULT '', c6 DATETIME YEAR TO DAY DEFAULT DATETIME(07-3-6) YEAR TO DAY, c7 DATETIME DAY TO HOUR DEFAULT CURRENT DAY TO HOUR, c8 DATE DEFAULT TODAY ); ALTIBE HDB의테이블생성 SQL문 CREATE TABLE TESTTBL_4_DEFVAL ( C1 INTEGER DEFAULT 123, C2 CHAR (1) DEFAULT 't', C3 CHAR (100) DEFAULT 'test', C4 INTEGER, C5 CHAR (10), C6 DATE /* DEFAULT '2007-03-06' */, C7 DATE DEFAULT SYSDATE, C8 DATE DEFAULT SYSDATE ); 68 Migration Center User's Manual

E. 부록 : PSM 변환기규칙 목록 Migration Center 는 Oracle 에서 ALTIBE 로마이그레이션을할때, PSM 변환기가 PSM 타입의데이터베이스객체를생성할수있는 DDL SQL 문장을제공한다. PSM 변환기에는 DDL SQL 문장을변환하는규칙이있으며, 그규칙은아래의세가지종류로분류된다 : CONVERTED: 변환가능 REMOVED: 변환불가, 그러나제거가능 TODO: 변환불가및제거불가 TODO 규칙이 PSM 객체에적용된다면, 해당객체는 To-Do 리스트창에표시될것이다. 그렇지않다면, Done 리스트창에표시될것이다. 각각의규칙에 " 버전범위 " 항목이기술된경우, 해당규칙은기술된 ALTIBE HDB 버전에만적용됨을의미한다. " 버전범위 " 항목이생략된규칙은모든 ALTIBE HDB 버전에적용됨을의미한다. E. 부록 : PSM 변환기규칙목록 69

뷰변환규칙 RULE-11001 타입 : REMOVED 설명 : 'WITH CHECK OPTION' 이제거되었다. CREATE OR REPLACE VIEW rule11001testview1 SELECT * FROM t1 WITH CHECK OPTION CONSTRAINT constraint_t; CREATE OR REPLACE VIEW rule11001testview1 SELECT * FROM t1 /* WITH CHECK OPTION CONSTRAINT constraint_t */ /* [REMOVED] RULE-11001 : 'WITH CHECK OPTION' is removed */; RULE-11002 타입 : REMOVED 설명 : 매개변수제약조건이제거되었다. CREATE OR REPLACE VIEW rule11002testview1 ( a1 CONSTRAINT constraint_t PRIMARY KEY ) SELECT c1 FROM t1; CREATE OR REPLACE VIEW rule11002testview1 ( a1 /* CONSTRAINT constraint_t PRIMARY KEY */ /* [REMOVED] RULE-11002 : Parameter constraints are removed */ ) SELECT c1 FROM t1; RULE-11003 타입 : TODO 설명 : 뷰레벨제약조건은수동으로변환해야한다. CREATE OR REPLACE VIEW rule11003testview1 70 Migration Center User's Manual

( CONSTRAINT constraint_t UNIQUE(a1) ) SELECT c1 FROM t1; CREATE OR REPLACE VIEW rule11003testview1 ( CONSTRAINT constraint_t UNIQUE(a1) /* [TODO] RULE-11003 : Out of line constraint must be converted manually */ ) SELECT c1 FROM t1; E. 부록 : PSM 변환기규칙목록 71

트리거변환규칙 RULE-12002 버전범위 : ALTIBE HDB 6.3.1.0.0 이전버전 타입 : TODO 설명 : INSTEAD OF 는수동으로변환해야한다. CREATE OR REPLACE TRIGGER rule12002testtrig1 INSTEAD OF INSERT ON t1 DECLARE NULL; CREATE OR REPLACE TRIGGER rule12002testtrig1 INSTEAD OF /* [TODO] RULE-12002 : 'INSTEAD OF' must be converted manually */ INSERT ON t1 DECLARE NULL; RULE-12003 타입 : TODO 설명 : 여러개의이벤트를지원하는트리거는수동으로변환해야한다. CREATE OR REPLACE TRIGGER rule12003testtrig1 BEFORE INSERT OR DELETE OR UPDATE OF c1, c2, c3 ON t1 DECLARE NULL; CREATE OR REPLACE TRIGGER rule12003testtrig1 BEFORE INSERT OR DELETE OR UPDATE OF c1, c2, c3 ON t1 /* [TODO] RULE-12003 : Triggers supporting multiple events must be converted manually */ DECLARE NULL; 72 Migration Center User's Manual

RULE-12004 타입 : TODO 설명 : PSM 바디앞의 DECLARE 는 또는 IS 로교체되거나, DECLARE 생략시에는추가되어야한다. CREATE OR REPLACE TRIGGER rule12004testtrig1 BEFORE INSERT ON t1 DECLARE NULL; CREATE OR REPLACE TRIGGER rule12004testtrig2 BEFORE INSERT ON t1 DECLARE /* [TODO] RULE-12004 : '' or 'IS' must replace 'DECLARE' before PSM body, or be added on omission of 'DECLARE' */ NULL; RULE-12005 타입 : TODO 설명 : 비 DML 트리거는수동으로변환해야한다. CREATE OR REPLACE TRIGGER rule12005testtrig1 BEFORE CREATE ON DATABE DECLARE NULL; CREATE OR REPLACE TRIGGER rule12005testtrig1 BEFORE CREATE ON DATABE /* [TODO] RULE-12005 : Non DML trigger must be converted manually */ DECLARE NULL; RULE-12006 타입 : TODO 설명 : 복합 DML 트리거는수동으로변환해야한다. E. 부록 : PSM 변환기규칙목록 73

CREATE OR REPLACE TRIGGER rule12006testtrig1 FOR DELETE ON t1 DECLARE NULL; CREATE OR REPLACE TRIGGER rule12006testtrig1 FOR DELETE ON t1 /* [TODO] RULE-12006 : Compound DML trigger must be converted manually */ DECLARE NULL; RULE-12007 타입 : TODO 설명 : 중첩테이블은수동으로변환해야한다. CREATE OR REPLACE TRIGGER rule12007testtrig1 AFTER DELETE ON NESTED TABLE t1 OF v1 DECLARE NULL; CREATE OR REPLACE TRIGGER rule12007testtrig1 AFTER DELETE ON NESTED TABLE t1 OF v1 /* [TODO] RULE-12007 : Nested table must be converted manually */ DECLARE NULL; RULE-12008 타입 : TODO 설명 : CALL 절은수동으로변환해야한다. CREATE OR REPLACE TRIGGER rule12008testtrig1 FOR DELETE ON t1 CALL testproc1(a1, a2); CREATE OR REPLACE TRIGGER rule12008testtrig1 FOR DELETE ON t1 CALL testproc1(a1, a2); /* [TODO] RULE-12008 : CALL routine clause must be converted manually */ 74 Migration Center User's Manual

함수변환규칙 RULE-13001 버전범위 : ALTIBE HDB 6.3.1.0.0 이전버전 타입 : TODO 설명 : LANGUAGE 절은수동으로변환해야한다. CREATE OR REPLACE FUNCTION rule13001testfunc1( a1 IN NUMBER ) RETURN NUMBER LANGUAGE JAVA NAME 'test.quote() return java.lang.string'; CREATE OR REPLACE FUNCTION rule13001testfunc1( a1 IN NUMBER ) RETURN NUMBER LANGUAGE JAVA NAME 'test.quote() return java.lang.string' /* [TODO] RULE- 13001 : LANGUAGE clause must be converted manually */; RULE-13002 타입 : REMOVED 설명 : AUTHID 절 ( 호출자권한절 ) 이제거되었다. CREATE OR REPLACE FUNCTION rule13002testfunc1( a1 IN NUMBER ) RETURN NUMBER AUTHID CURRENT_USER IS RETURN a1; CREATE OR REPLACE FUNCTION rule13002testfunc1( a1 IN NUMBER ) RETURN NUMBER /* AUTHID CURRENT_USER */ /* [REMOVED] RULE-13002 : AUTHID clause is removed */ IS RETURN a1; E. 부록 : PSM 변환기규칙목록 75

RULE-13003 타입 : REMOVED 설명 : PARALLEL_ENABLE 절이제거되었다. CREATE OR REPLACE FUNCTION rule13003testfunc1( a1 IN NUMBER ) RETURN NUMBER PARALLEL_ENABLE IS RETURN a1; CREATE OR REPLACE FUNCTION rule13003testfunc1( a1 IN NUMBER ) RETURN NUMBER /* PARALLEL_ENABLE */ /* [REMOVED] RULE-13003 : PARALLEL_ENABLE clause is removed */ IS RETURN a1; RULE-13004 타입 : REMOVED 설명 : RESULT_CACHE 절이제거되었다. CREATE OR REPLACE FUNCTION rule13004testfunc1( a1 IN NUMBER ) RETURN NUMBER RESULT_CACHE RELIES_ON(t1, t2) IS RETURN a1; CREATE OR REPLACE FUNCTION rule13004testfunc2( a1 IN NUMBER ) RETURN NUMBER /* RESULT_CACHE RELIES_ON(t1, t2) */ /* [REMOVED] RULE- 13004 : RESULT_CACHE clause is removed */ IS RETURN a1; 76 Migration Center User's Manual

RULE-13005 타입 : REMOVED 설명 : DETERMINISTIC 이제거되었다. CREATE OR REPLACE FUNCTION rule13005testfunc1( a1 IN NUMBER ) RETURN NUMBER DETERMINISTIC IS RETURN a1; CREATE OR REPLACE FUNCTION rule13005testfunc1( a1 IN NUMBER ) RETURN NUMBER /* DETERMINISTIC */ /* [REMOVED] RULE-13005 : 'DETERMINISTIC' is removed */ IS RETURN a1; RULE-13006 타입 : REMOVED 설명 : PIPELINED 이제거되었다. CREATE OR REPLACE FUNCTION rule13006testfunc1( a1 IN NUMBER ) RETURN NUMBER PIPELINED RETURN a1; CREATE OR REPLACE FUNCTION rule13006testfunc1( a1 IN NUMBER ) RETURN NUMBER /* PIPELINED */ /* [REMOVED] RULE-13006 : 'PIPELINED' is removed */ RETURN a1; RULE-13007 타입 : TODO E. 부록 : PSM 변환기규칙목록 77

설명 : PIPELINED/AGGRAGATE USING 절은수동으로변환해야 한다. CREATE OR REPLACE FUNCTION rule13007testfunc1( a1 IN NUMBER ) RETURN NUMBER AGGREGATE USING implementation_type; CREATE OR REPLACE FUNCTION rule13007testfunc1( a1 IN NUMBER ) RETURN NUMBER AGGREGATE USING implementation_type /* [TODO] RULE-13007 : PIPELINED/AGGRAGATE USING clause must be converted manually */; 78 Migration Center User's Manual

프로시저변환규칙 RULE-14001 버전범위 : ALTIBE HDB 6.3.1.0.0 이전버전 타입 : TODO 설명 : LANGUAGE 절은수동으로변환해야한다. CREATE OR REPLACE PROCEDURE rule14001testproc1( a1 IN NUMBER ) LANGUAGE JAVA NAME 'test.quote() return java.lang.string'; CREATE OR REPLACE PROCEDURE rule14001testproc1( a1 IN NUMBER ) LANGUAGE JAVA NAME 'test.quote() return java.lang.string' /* [TODO] RULE- 14001 : LANGUAGE clause must be converted manually */; RULE-14002 타입 : REMOVED 설명 : AUTHID 절이제거되었다. CREATE OR REPLACE PROCEDURE rule14002testproc1( a1 IN NUMBER ) AUTHID DEFINER IS NULL; CREATE OR REPLACE PROCEDURE rule14002testproc1( a1 IN NUMBER ) /* AUTHID DEFINER */ /* [REMOVED] RULE-14002 : AUTHID clause is removed */ IS NULL; E. 부록 : PSM 변환기규칙목록 79

Materialized View 변환규칙 RULE-15004 타입 : REMOVED 설명 : 칼럼별칭절과서브쿼리사이의모든절이제거되었다. CREATE MATERIALIZED VIEW rule15004testmview1 ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE test BUILD IMMEDIATE USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE tbs1 REFRESH FT ON DEMAND WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT USING ENFORCED CONSTRAINTS FOR UPDATE DISABLE QUERY REWRITE SELECT * FROM t1; CREATE MATERIALIZED VIEW rule15004testmview1 /* ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE test BUILD IMMEDIATE USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE tbs1 REFRESH FT ON DEMAND WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT USING ENFORCED CONSTRAINTS FOR UPDATE DISABLE QUERY REWRITE */ /* [REMOVED] RULE-15004 : All clauses between column alias clause and subquery are removed */ SELECT * FROM t1; 80 Migration Center User's Manual

패키지변환규칙 RULE-16001 타입 : CONVERTED 설명 : 패키지객체의 Sub-program 에규칙이적용되었다. CREATE OR REPLACE PACKAGE BODY rule16001testpkg1 PROCEDURE testproc1 m_rowid ROWID; DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUT('--- test procedure is executed ---'); DBMS_OUTPUT.DISABLE; NULL; CREATE OR REPLACE PACKAGE BODY rule16001testpkg1 PROCEDURE testproc1 m_rowid ROWID /* [TODO] RULE-30002 : Unsupported data type must be converted manually */; /* DBMS_OUTPUT.ENABLE; */ /* [REMOVED] RULE-32005 : Unsupported built-in package sub-procedure is removed */ SYSTEM_.PRINT('--- test procedure is executed ---'); /* DBMS_OUTPUT.DISABLE; */ /* [REMOVED] RULE-32005 : Unsupported built-in package sub-procedure is removed */ NULL; E. 부록 : PSM 변환기규칙목록 81

라이브러리변환규칙 RULE-17001 타입 : REMOVED 설명 : AGENT 절이제거되었다. CREATE OR REPLACE LIBRARY rule17001testlib1 '${ORACLE_HOME}/lib/test_lib.so' 'test.rule.no_17001.com'; AGENT CREATE OR REPLACE LIBRARY rule17001testlib1 '${ORACLE_HOME}/lib/test_lib.so' /* AGENT 'test.rule.no_17001.com' */ /* [REMOVED] RULE- 17001 : Agent clause is removed */; RULE-17002 타입 : REMOVED 설명 : UNTRUSTED 가제거되었다. CREATE OR REPLACE LIBRARY rule17001testlib1 UNTRUSTED '${ORACLE_HOME}/lib/test_lib.so'; CREATE OR REPLACE LIBRARY rule17001testlib1 /* UNTRUSTED */ /* [REMOVED] RULE-17002 : 'UNTRUSTED' is removed */ '${ORACLE_HOME}/lib/test_lib.so'; 82 Migration Center User's Manual

DML 문변환규칙 RULE-20001 타입 : REMOVED 설명 : Flashback 쿼리절이제거되었다. CREATE OR REPLACE VIEW rule20001testview1 SELECT * FROM t1 CROSS JOIN t2 VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE; CREATE OR REPLACE VIEW rule20001testview1 SELECT * FROM t1 CROSS JOIN t2 /* VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE */ /* [REMOVED] RULE-20001 : Flashback query clause is removed */; RULE-20002 버전범위 : ALTIBE HDB 6.3.1.0.0 이전버전 타입 : CONVERTED 설명 : GROUP BY 절에서 ROLLUP 연산이변환되었다. CREATE OR REPLACE VIEW rule20002testview1 SELECT c1, c2, c3, c4, SUM( c5 ) FROM t1 WHERE c1 > c2 GROUP BY ROLLUP( c1, c2, ( c3, c4 ) ); CREATE OR REPLACE VIEW rule20002testview1 SELECT c1, c2, c3, c4, SUM( c5 ) FROM ( SELECT DECODE(no, 1, c1, 2, c1, 3, c1) c1, DECODE(no, 1, c2, 2, c2) c2, DECODE(no, 1, c3) c3, DECODE(no, 1, c4) c4, c5 FROM t1, (SELECT LEVEL no FROM dual CONNECT BY LEVEL <= 4) copy_t WHERE c1 > c2 ) GROUP BY c1, c2, c3, c4; E. 부록 : PSM 변환기규칙목록 83