투씨에스지 기술 블로그

Oracle CSSCAN 설치 및 사용법 본문

Oracle/Package

Oracle CSSCAN 설치 및 사용법

TOCSG 2016.06.20 14:11

[ ORACLE CSSCAN : 설치 및 사용법]

1. ORACLE CSSCAN 설치 / 사용법 Test  

| Oracle CSSCAN 설치 및 TEST .

 1. sys계정에 접속하여 csscan 스키마 생성 합니다. 

 -------------------------------------------------------
 SQL>  @?/rdbms/admin/csminst.sql
 -------------------------------------------------------

 2. csscan 진행하는 csmig 유저가 최초에 lock이 걸려 있을 수 있기 때문에 sys계정으로 접속하여 unlock 을
    진행 하여 줍니다. 
 -------------------------------------------------------
 SQL> alter user csmig account unlock ; 
 -------------------------------------------------------

 3. csscan 을 실행 합니다.
 ----------------------------------------------------------------------------------------------------
 $ csscan system/manager ( csscan  system 계정/ system계정의password 로 접속) (oslevel 에서실행)
 ----------------------------------------------------------------------------------------------------
 4.접속을 하게 되면 아래와 같이 full database 레벨로 검증할지 user , table 레벨로 검증할지 선택하는 
 화면이 아래와 같이 나오게 됩니다. 
 -------------------------------------------------------

 [oracle]$ csscan system/manager

 Connected to:
 Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
 With the Partitioning, OLAP and Data Mining options
 (1)Full database, (2)User, (3)Table: 1 > 2 ( 저는 user level 로 진행 하였습니다.
                                                        full database 단위로 진행하셔도 무방하며 fulldatabase진행시
                                                        아래 process 배정하는 단계에서 process 할당을 좀더 많이
                                                        해주시면 됩니다. ) 
 Current database character set is KO16KSC5601
 ( ---> 현재 사용하는 chracter set 을 알려줍니다. )
 Enter new database character set name: > UTF8
 (---> 이관할 쪽 변경되는 chracterset 을 입력하여 줍니다. ) 
 Enter array fetch buffer size: 102400 >
 (---> 엔터) 
 Enter number of scan processes to utilize(1..32): 1 > 4
 (---> 사용할 cpu 수를 지정 해 줍니다. )
 Enter user name to scan: > SCOTT
 (----> user level 로 scan 범위를 지정 하였기 때문에 USER 명을 입력하여 줍니다) 
 Enumerating tables to scan...

 . process 1 scanning SCOTT.EMP[AAAR3xAAEAAAACQAAA]
 . process 2 scanning SCOTT.EMP10000[AAASSgAAEAAAAIwAAA]
 . process 1 scanning SCOTT.EMP2[AAASSdAAEAAAAIYAAA]
 . process 1 scanning SCOTT.DEPT[AAAR3vAAEAAAACAAAA]
 . process 2 scanning SCOTT.EMP3[AAASk/AAEAAAAK4AAA]

 Creating Database Scan Summary Report...
 Creating Individual Exception Report...
 Scanner terminated successfully.
 (--> 위와같이 successfully 확인 되면 scanning 이 끝난것입니다.) 

 5. exit으로 나오면 cscan 을 접속한 현재 디렉토리에 
    scan.txt , scan.err , scan.out 파일이 생긴것을 확인 할 수 있습니다. 
     - scan.out: scanning 과정을 저장 해 놓은 파일 입니다.
     - scan.txt: Cscan 종합 보고서 입니다.
     - scan.err: 캐릭터셋 변경시 손실되는 데이터에 대한 정보 입니다. 
 6. scan.txt 예제 
 $ vi scan.txt 파일을 열어보면 아래와 같이 확인이 가능합니다. 
 -----------------------------------------------------------------------------------------vi scan.txt
 Datatype            Changeless     Convertible    Truncation      Lossy
 --------------------- ---------------- ---------------- ---------------- ----------------
 VARCHAR2            35,235                0                0                0
 CHAR                        0                0                0                0
 LONG                        0                0                0                0
 CLOB                         0                0                0                0
 VARRAY                 1,525                0                0                0
 --------------------- ---------------- ---------------- ---------------- ----------------
 Total                   36,760                0                0                0
 Total in percentage            100.000%           0.000%           0.000%           0.000%
 -----------------------------------------------------------------------------------------vi scan.txt
 - Changeless 는 변환시 문제가 생기지 않는 data 입니다. 100%가 되면 좋겠지만
   데이터 변환시 깨지는 데이터에 대한 정보인 truncate , lossy 가 발생한다면 더 낮은 %가 나올 수 있습니다.
 - Truncation, Lossy 는 데이터 변환시 깨지는 데이터에 대한  정보 입니다. 
   scan.err 파일로 어떤테이블의 어떤 data가 깨지는지 확인이 가능하며 그테이블을 포기해도 된다면 그냥 
   chracter set 을 변경 하셔도 되지만 그게 아니라면 보존할 방법을 강구 해 보셔야 합니다. 

 7. scan.err 예제 
 $ vi scan.err 파일을 열어보면 아래와 같이 확인이 가능합니다. 
 -----------------------------------------------------------------------------------------vi scan.err
 User  : SCOTT
 Table : TMPTABLE
 Column: TEXT
 Type  : VARCHAR2(2000) 
 Number of Exceptions         : 1
 Max Post Conversion Data Size: 1

 ROWID                                    Exception Type               Size             Cell Data(first 30 bytes)
 -----------------------------------  ------------------------------------   -----------------      --------------------------
 AAAHboAABAAAMYyAAA      lossy conversion                  60                대인고등학교 과항동아리~NEW
 AAAHboAABAAEEEFyAAA     exceed coulumn size            50                상갈초등학교(adress,동아리~) 
 -----------------------------------  ------------------------------------   -----------------      --------------------------
 -----------------------------------------------------------------------------------------vi scan.err
 - 위와같이 scann.err 파일을 열어보면 어떤 테이블의 어떤 컬럼의 데이터가 깨지는지 
   rowid 와 데이터 내용으로 확인이 가능합니다. 

 - exception type 에는 왜 data가 깨지는지 사유를 확인 할 수 있는데 여기에는 2가지 타입이 있습니다. 
   exceed coulumn size 의 경우 컬럼사이즈를 늘려주시면 해결이 가능하지만 
   lossy conversion 같은 경우는 데이터를 삭제하거나 포기 하지않는 이상 chracter set 의 변환은 불가능 합니다 .

    글쓴이. 투씨에스지 황우정 사원. 


 
  


 


신고

'Oracle > Package' 카테고리의 다른 글

Oracle CSSCAN 설치 및 사용법  (0) 2016.06.20
ORACLE TEXT 사용법  (0) 2016.06.20
오라클 TEXT 설치및 삭제.  (0) 2016.06.20
0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 ... 54 Next