Oracle Table 데이터를 MySQL로 전환하기 위해 아래와 같은 절차로 진행합니다.


Architecture of the import process


1.  환경 설정

    다음 환경에서 이관 작업을 수행

    1) Oracle Database 11g ( 11.2.0.3, RAC )     : 기존에 설치되어 있는 DB

    2) MySQL Mariadb 10.1.8                        : Mig를 위해 신규 설치

    3) Hadoop 2.7.1                                    : MapReduce를 사용, 중간 데이터 저장

    4) Sqoop 1.4.6                                      :  Source와 Target간 데이터 전송

    5) MySQL, Oracle jar lib 파일                   :  Sqoop에서 src와 target DB 접속


2. 환경 구성

    1) MySQL 설치

       - Mariadb 커뮤니티 사이트에서 Mariadb 10.1.8 다운

       - tar -xvf  mariadb-10.1.8-linux-x86_64.tar.gz  -C /usr/local

       - ln -s /usr/local/mariadb-10.1.8-linux-x86_64    /usr/local/mysql

       - groupadd mysql 

       - useradd -g mysql -s /bin/bash -M -d /usr/local/mysql mysql

       - chown -R mysql:mysql /usr/local/mysql

       - su - mysql

             - /etc/my.cnf                                         -- mysql에 대한 config 내용 정의     

             - ./scripts/mysql_install_db --user=mysql

             - ./bin/mysqladmin -u root password 'initial-password'     -- 초기 패스워드 설정

               ./bin/mysqladmin -u root -h test1  password 'initial-password' 

    2) Hadoop 설치

       

    3) Sqoop 1.4.6

       - tar -xvf sqoop-1.4.6.tar.gz

       - tar가 풀린 디렉토리에 위에 mysql과 oracle lib 파일 복사

 

The MySQL CREATE TABLE StatementThe ALTIBASE HDB/XDB CREATE TABLE Statement
CREATE TABLE testtbl_4_defval
(
    c1 TIMESTAMP NOT NULL,
    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
);
CREATE TABLE TESTTBL_4_DEFVAL
( 
    C1 DATE     DEFAULT SYSDATE NOT 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

How it works...

+ Recent posts