www.1q.co.kr(park1q.com)

ID :  Password : Auto  

   회원:0명 / 손님:0명
 

 

Technote

자료 및 관리팁

  • DBA Notes
  • Q & A

    북마크
  • Asktom
       (Oracle 의 대표 Forum)
  • Technical Bulltin(KR)
       (기술지원게시판)
  • Dbazine

  •  

     


     KO16KSC5601 to WE8DEC
    park1q  2009-06-12 17:28:28, 조회 : 4,667, 추천 : 1113


    ㅁ KO16KSC5601 을 WE8DEC 로 전환 또는 VIEW 를 사용해서 데이타 조회 하는 방법
    여러 방법을 찾아 보았지만 직접적으로 MIGRATION 할수 있는 방법은 없다.
    테스트를 위해 ADM9I DB 는 KO16KSC5601 로 생성, WE8DEC DB 는 WE8DEC 로 생성하였다.

    일단 목표가 KO16KSC5601 를 WE8DEC 로 전환하는 것이기 때문에 영향도가 있는 테이블을 SCAN 하여야 한다.
    KO16KSC5601 에서 csminst.sql 를 수행한다.
    SQL> @?/rdsbm/admin/csminst.sql

    그다음에 csscan system/park1q USER=scott TOCHAR=WE8DEC 를 수행한다.
    csscan 의 정확한 사용법은 csscan help=y 를 참조한다.
    scan 을 하는 목적은 migration 에서 error 가 날 테이블 및 row 를 확인하기 위함이다.
    완료후 다음 화일이 생성된다.

    scan.txt
    scan.out
    scan.err

    scan.txt 를 열어 보면 Convertible  과 Exceptional 이 있는데, 이중 Exceptional 에 해당하는 column 은 conversion 불가능하다.
    ㅁ 이것을 해결할수 있는 방법(유일)
    예를 들어 csscan 으로 100개의 테이블을 검사 했는데, 10개만 exceptional 에 걸릴수 있다.
    이 테이블10개에는 즉, 한글이 있다는 얘기인데, 이러한 테이블만 insert into ~ select @link 로 해결하는 방법이다.


    ############### AT KO16KSC5601
    일단 KO16KSC5601 에 한글이 포함된 테이블을 TLANG 이라고 하고 COLUMN 은 2개 COL01, COL02 가 존재한다.

    여기서 VI_TLANG VIEW 를 생성한다.
    CREATE VIEW VI_TLANG      AS
    SELECT UTL_RAW.CAST_TO_RAW(COL01) col01 , UTL_RAW.CAST_TO_RAW(COL02) col02
      FROM TLANG ;

    ############### AT WE8DEC
    KO16KSC5601 로의 DB LINK 를 생성한다.
    CREATE DATABASE LINK LN_KOR CONNECT TO SCOTT IDENTIFIED BY TIGER USING 'KOR' ;
    TEST :
    SQL> SELECT SYSDATE FROM
    DUAL@LN_KOR ;
    정상적이라면 시간이 나올것이다.
    그런후에
    SELECT * FROM
    VI_TLANG@LN_KOR  ;
    결과는 다음과 같다.
    COL01                COL02
    -------------------- --------------------
    BEC8B3E7C7CFBCBCBFE4 B6C7B8B8B3B5B1BABFE4
    2E2E                 2E2E

    A3BFBCA5A3BF         A3BFBCA5A3BF
    B9DABFF8B1D4         C8ABB1E6B5BF


    다시
    아까  AT KO16KSC5601 에서 만들었던 VIEW 의 역으로 SELECT 문을 만든다.
    SQL> SELECT UTL_RAW.CAST_TO_VARCHAR2(COL01) COL01 , UTL_RAW.CAST_TO_VARCHAR2(COL02) COL02   FROM
    VI_TLANG@ln_KOR;
    결과는 아래와 같다. 여기서 ?로 나오는것은 표준 완성형 한글이 하닌 [뿀]과 [샾]이라는 글자이다.
    COL01                COL02
    -------------------- --------------------
    안녕하세요..         또만났군요..
    ?샵?               ?샵?
    박원규               홍길동


      추천하기 프린트   목록보기

    Copyright 1999-2018 Zeroboard

     

     
     
    [Today:9 / Total:156522]    Design by p@rk1q