Oracle Character Set変換(6):5.3。 US7ASCII環境CSSCAN実行結果
US7ASCII環境CSSCANの実行結果を見てください。 schema生成、directory生成、csscan実行結果ファイルscan.txt、scan.out、scan.err内容、実行結果Tableバックアップの内容を確認することができます。
前の記事で続く内容だ。
Oracle Character Set変換(5): 5. Oracleの推奨方法
5.3。 US7ASCII環境CSSCAN実行結果
5.3.1。スキーマの生成
US7ASCII instanceで以下のスクリプトを実行してcsscanを実行するためのスキーマを生成します。
-- US7ASCII sqlplus sys/________@oraus7 as sysdba @%ORACLE_HOME%\rdbms\admin\csminst.sql sqlplus sys/________@oraus7 as sysdba ALTER USER CSMIG DEFAULT TABLESPACE USERS; EXIT
- 行3:csminst.sqlを実行してcsmig user(schema)とcsscanの実行に必要なテーブルなどのオブジェクトを作成します。このとき、csmig userのデフォルトのtablespaceはsystemに指定されます。
- 行5:csmig userのデフォルトのtablespaceをusersに変更します。 usersではなく、保存スペースが十分な別のtablespaceに変更してもよい。
5.3.2。 directoryの作成
csscan実行結果を保存するディレクトリを作成し、そのディレクトリに移動します。
mkdir D:\Temp\csscan\US7ASCII cd D:\Temp\csscan\US7ASCII
5.3.3。 csscanの実行
Windowsのコマンドプロンプトで、次のコマンドでcsscanを実行します。
csscan \"sys/________@oraus7 as sysdba\" full=y tochar=AL32UTF8
パラメータは2つを指定しました。
- full:データベース全体をターゲットにスキャンするようにYを指定する
- 注: user parameter で scan ターゲット user を指定したり、table, column parameter で scan ターゲットを詳細に指定したりすることができます
- tochar: 変換するターゲット charset セットである AL32UTF8 指定 (CHAR, VARCHAR2, CLOB, LONG type scan)
- ちなみに、NCHAR、NVARCHAR2、NCLOB型をスキャンするにはtoncharパラメータを指定する必要があります
5.3.4。 csscan実行結果の確認 - scan.txt(結果サマリーレポート)
US7ASCIIテスト環境では、scan.txtの全内容は次のとおりです。
Database Scan Summary Report Time Started : 2014-05-07 19:41:34 Time Completed: 2014-05-07 19:42:28 Process ID Time Started Time Completed ---------- -------------------- -------------------- 1 2014-05-07 19:41:48 2014-05-07 19:42:27 ---------- -------------------- -------------------- [Database Size] Tablespace Used Free Total Expansion ------------------------- --------------- --------------- --------------- --------------- SYSTEM 577.81M 122.19M 700.00M 2.25M SYSAUX 354.56M 245.44M 600.00M 13.09M UNDOTBS1 14.75M 455.25M 470.00M .00K TEMP .00K .00K .00K .00K USERS 1.81M 3.19M 5.00M 158.00K ------------------------- --------------- --------------- --------------- --------------- Total 948.94M 826.06M 1,775.00M 15.49M The size of the largest CLOB is 1625114 bytes [Database Scan Parameters] Parameter Value ------------------------------ ------------------------------------------------ CSSCAN Version v2.1 Instance Name oraus7 Database Version 11.2.0.1.0 Scan type Full database Scan CHAR data? YES Database character set US7ASCII FROMCHAR US7ASCII TOCHAR AL32UTF8 Scan NCHAR data? NO Array fetch buffer size 1024000 Number of processes 1 Capture convertible data? NO ------------------------------ ------------------------------------------------ [Scan Summary] Some character type data in the data dictionary are not convertible to the new character set Some character type application data are not convertible to the new character set [Data Dictionary Conversion Summary] Data Dictionary Tables: Datatype Changeless Convertible Truncation Lossy --------------------- ---------------- ---------------- ---------------- ---------------- VARCHAR2 2,686,869 0 0 11 CHAR 2,834 0 0 0 LONG 189,691 0 0 0 CLOB 45,948 2,244 0 32 VARRAY 39,205 0 0 0 --------------------- ---------------- ---------------- ---------------- ---------------- Total 2,964,547 2,244 0 43 Total in percentage 99.923% 0.076% 0.000% 0.001% The data dictionary can not be safely migrated using the CSALTER script XML CSX Dictionary Tables: Datatype Changeless Convertible Truncation Lossy --------------------- ---------------- ---------------- ---------------- ---------------- VARCHAR2 493 0 0 0 CHAR 0 0 0 0 LONG 0 0 0 0 CLOB 0 0 0 0 VARRAY 0 0 0 0 --------------------- ---------------- ---------------- ---------------- ---------------- Total 493 0 0 0 Total in percentage 100.000% 0.000% 0.000% 0.000% [Application Data Conversion Summary] Datatype Changeless Convertible Truncation Lossy --------------------- ---------------- ---------------- ---------------- ---------------- VARCHAR2 2,580,031 0 4,507 14,855 CHAR 0 0 0 0 LONG 0 0 0 0 CLOB 29,628 8,291 0 1 VARRAY 0 0 0 0 --------------------- ---------------- ---------------- ---------------- ---------------- Total 2,609,659 8,291 4,507 14,856 Total in percentage 99.121% 0.315% 0.171% 0.564% [Distribution of Convertible, Truncated and Lossy Data by Table] Data Dictionary Tables: USER.TABLE Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- MDSYS.SDO_COORD_OP_PARAM_VALS 200 0 0 MDSYS.SDO_STYLES_TABLE 78 0 0 MDSYS.SDO_XML_SCHEMAS 3 0 0 ORDDATA.ORDDCM_CT_PRED_OPRD 51 0 0 ORDDATA.ORDDCM_DOCS 9 0 0 ORDDATA.ORDDCM_MAPPING_DOCS 1 0 0 SYS.COM$ 0 0 11 SYS.METASTYLESHEET 178 0 0 SYS.RULE$ 1 0 0 SYS.SCHEDULER$_EVENT_LOG 38 0 0 SYS.WRH$_SQLTEXT 712 0 32 SYS.WRH$_SQL_PLAN 716 0 0 SYS.WRI$_ADV_DIRECTIVE_META 5 0 0 SYS.WRI$_ADV_OBJECTS 5 0 0 SYS.WRI$_DBU_FEATURE_METADATA 188 0 0 SYS.WRI$_DBU_FEATURE_USAGE 10 0 0 SYS.WRI$_DBU_HWM_METADATA 20 0 0 SYS.WRI$_REPT_FILES 27 0 0 XDB.XDB$DXPTAB 2 0 0 -------------------------------------------------- ---------------- ---------------- ---------------- XML CSX Dictionary Tables: USER.TABLE Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- -------------------------------------------------- ---------------- ---------------- ---------------- Application Data: USER.TABLE Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- APEX_030200.WWV_FLOW_BANNER 10 0 0 APEX_030200.WWV_FLOW_BUTTON_TEMPLATES 12 0 0 APEX_030200.WWV_FLOW_CUSTOM_AUTH_SETUPS 19 0 0 APEX_030200.WWV_FLOW_FLASH_CHART_SERIES 5 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES 298 0 0 APEX_030200.WWV_FLOW_PAGE_GENERIC_ATTR 44 0 0 APEX_030200.WWV_FLOW_PAGE_PLUGS 3,241 0 0 APEX_030200.WWV_FLOW_PAGE_PLUG_TEMPLATES 254 0 0 APEX_030200.WWV_FLOW_PROCESSING 45 0 0 APEX_030200.WWV_FLOW_ROW_TEMPLATES 66 0 0 APEX_030200.WWV_FLOW_SHORTCUTS 39 0 0 APEX_030200.WWV_FLOW_STEPS 1,797 0 0 APEX_030200.WWV_FLOW_STEP_PROCESSING 2,239 0 0 APEX_030200.WWV_FLOW_TEMPLATES 192 0 0 APEX_030200.WWV_FLOW_WORKSHEETS 30 0 0 LEG.SUB_MON_STAT 0 4,507 14,854 LEG.Z_TEST 0 0 2 -------------------------------------------------- ---------------- ---------------- ---------------- [Distribution of Convertible, Truncated and Lossy Data by Column] Data Dictionary Tables: USER.TABLE|COLUMN Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- MDSYS.SDO_COORD_OP_PARAM_VALS|PARAM_VALUE_FILE 200 0 0 MDSYS.SDO_STYLES_TABLE|DEFINITION 78 0 0 MDSYS.SDO_XML_SCHEMAS|XMLSCHEMA 3 0 0 ORDDATA.ORDDCM_CT_PRED_OPRD|SYS_NC00004$ 51 0 0 ORDDATA.ORDDCM_DOCS|SYS_NC00005$ 9 0 0 ORDDATA.ORDDCM_MAPPING_DOCS|SYS_NC00007$ 1 0 0 SYS.COM$|COMMENT$ 0 0 11 SYS.METASTYLESHEET|STYLESHEET 178 0 0 SYS.RULE$|CONDITION 1 0 0 SYS.SCHEDULER$_EVENT_LOG|ADDITIONAL_INFO 38 0 0 SYS.WRH$_SQLTEXT|SQL_TEXT 712 0 32 SYS.WRH$_SQL_PLAN|OTHER_XML 716 0 0 SYS.WRI$_ADV_DIRECTIVE_META|DATA 5 0 0 SYS.WRI$_ADV_OBJECTS|ATTR4 5 0 0 SYS.WRI$_DBU_FEATURE_METADATA|INST_CHK_LOGIC 21 0 0 SYS.WRI$_DBU_FEATURE_METADATA|USG_DET_LOGIC 167 0 0 SYS.WRI$_DBU_FEATURE_USAGE|FEATURE_INFO 10 0 0 SYS.WRI$_DBU_HWM_METADATA|LOGIC 20 0 0 SYS.WRI$_REPT_FILES|SYS_NC00005$ 27 0 0 XDB.XDB$DXPTAB|SYS_NC00006$ 2 0 0 -------------------------------------------------- ---------------- ---------------- ---------------- XML CSX Dictionary Tables: USER.TABLE|COLUMN Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- -------------------------------------------------- ---------------- ---------------- ---------------- Application Data: USER.TABLE|COLUMN Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- APEX_030200.WWV_FLOW_BANNER|BANNER 10 0 0 APEX_030200.WWV_FLOW_BUTTON_TEMPLATES|TEMPLATE 12 0 0 APEX_030200.WWV_FLOW_CUSTOM_AUTH_SETUPS|AUTH_FUNC 8 0 0 APEX_030200.WWV_FLOW_CUSTOM_AUTH_SETUPS|PAGE_SENT 10 0 0 APEX_030200.WWV_FLOW_CUSTOM_AUTH_SETUPS|POST_AUTH 1 0 0 APEX_030200.WWV_FLOW_FLASH_CHART_SERIES|SERIES_QU 5 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|ITEM_TEMPLATE 20 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|ITEM_TEMPLATE 20 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|LIST_TEMPLATE 105 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|LIST_TEMPLATE 105 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|SUB_LIST_ITEM 12 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|SUB_LIST_ITEM 12 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|SUB_TEMPLATE_ 12 0 0 APEX_030200.WWV_FLOW_LIST_TEMPLATES|SUB_TEMPLATE_ 12 0 0 APEX_030200.WWV_FLOW_PAGE_GENERIC_ATTR|ATTRIBUTE_ 44 0 0 APEX_030200.WWV_FLOW_PAGE_PLUGS|PLUG_SOURCE 3,241 0 0 APEX_030200.WWV_FLOW_PAGE_PLUG_TEMPLATES|TEMPLATE 166 0 0 APEX_030200.WWV_FLOW_PAGE_PLUG_TEMPLATES|TEMPLATE 88 0 0 APEX_030200.WWV_FLOW_PROCESSING|PROCESS_SQL_CLOB 45 0 0 APEX_030200.WWV_FLOW_ROW_TEMPLATES|ROW_TEMPLATE1 54 0 0 APEX_030200.WWV_FLOW_ROW_TEMPLATES|ROW_TEMPLATE2 10 0 0 APEX_030200.WWV_FLOW_ROW_TEMPLATES|ROW_TEMPLATE3 2 0 0 APEX_030200.WWV_FLOW_SHORTCUTS|SHORTCUT 39 0 0 APEX_030200.WWV_FLOW_STEPS|HELP_TEXT 1,514 0 0 APEX_030200.WWV_FLOW_STEPS|HTML_PAGE_HEADER 283 0 0 APEX_030200.WWV_FLOW_STEP_PROCESSING|PROCESS_SQL_ 2,239 0 0 APEX_030200.WWV_FLOW_TEMPLATES|BOX 64 0 0 APEX_030200.WWV_FLOW_TEMPLATES|FOOTER_TEMPLATE 64 0 0 APEX_030200.WWV_FLOW_TEMPLATES|HEADER_TEMPLATE 64 0 0 APEX_030200.WWV_FLOW_WORKSHEETS|SQL_QUERY 30 0 0 LEG.SUB_MON_STAT|COMMT 0 1 1 LEG.SUB_MON_STAT|LINE_NUM 0 3,238 7,426 LEG.SUB_MON_STAT|REF_DES 0 0 1 LEG.SUB_MON_STAT|SUB_STA_NM 0 1,268 7,426 LEG.Z_TEST|VAL 0 0 2 -------------------------------------------------- ---------------- ---------------- ---------------- [Indexes to be Rebuilt] USER.INDEX on USER.TABLE(COLUMN) ----------------------------------------------------------------------------------------- APEX_030200.WWV_FLOW_WORKSHEETS_UNQ_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(SYS_NC00078$) APEX_030200.WWV_FLOW_WORKSHEETS_UNQ_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(SYS_NC00079$) APEX_030200.WWV_FLOW_WORKSHEETS_UNQ_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(SYS_NC00080$) APEX_030200.WWV_FLOW_WORKSHEETS_UNQ_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(SYS_NC00081$) APEX_030200.WWV_FLOW_WS_UNQ_ALIAS_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(SYS_NC00082$) APEX_030200.WWV_FLOW_WS_UNQ_ALIAS_IDX on APEX_030200.WWV_FLOW_WORKSHEETS(ALIAS) -----------------------------------------------------------------------------------------
この中で、「Application Data Conversion Summary」の内容がOracle System Dataではなく、ユーザーが作成したDataにtype別にスキャンした内容です。
[Application Data Conversion Summary] Datatype Changeless Convertible Truncation Lossy --------------------- ---------------- ---------------- ---------------- ---------------- VARCHAR2 2,580,031 0 4,507 14,855 CHAR 0 0 0 0 LONG 0 0 0 0 CLOB 29,628 8,291 0 1 VARRAY 0 0 0 0 --------------------- ---------------- ---------------- ---------------- ---------------- Total 2,609,659 8,291 4,507 14,856 Total in percentage 99.121% 0.315% 0.171% 0.564%
上記の内容を解釈すると次のようになる。
- VARCHAR2 typeに対してAL32UTF8に変更すると、2,580,031個の値は変更なし(Changeless)のまま切り替えられ、4,507個の値が切り捨て(Truncation)され、14,855個の値は損失/割れ(Lossy)が発生する
- CLOB typeに対してAL32UTF8に変更すると、29,628個の値は変更なし(Changeless)のまま切り替えることができ、8,291個の値は変換可能(Convertible)し、1個の値は損失/割れ(Lossy)が発生する
- その他 CHAR, LONG, VARRAY typeのデータは変換対象がない
上記の内容では、Changeless、Convertible、Truncation、Lossyの説明は前の記事に書いておき、以下にもう一度表記しておく。
Oracle Character Set変換(5) - 5.2。 CSSCANの使い方
Status | Description |
Changeless | Data remains the same in the new character set – character set変換時のデータ変更なし |
Convertible | Data can be successfully converted to the new character set – character set 変換時にデータ変更可能 |
Truncation | Data will be truncated if conversion takes place – 文字セット変換時にデータを切り捨てる |
Lossy | Character data will be lost if conversion takes place – 文字セット変換時にデータが失われる(壊れている) |
「Distribution of Convertible, Truncated and Lossy Data by Table」, 「Distribution of Convertible, Truncated and Lossy Data by Column」の内容は、各テーブルとカラムごとにスキャンした結果である。
以下にファイルの一部内容を抜粋しておく。
[Distribution of Convertible, Truncated and Lossy Data by Table] ... Application Data: USER.TABLE Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- ... LEG.SUB_MON_STAT 0 4,507 14,854 LEG.Z_TEST 0 0 2 -------------------------------------------------- ---------------- ---------------- ---------------- [Distribution of Convertible, Truncated and Lossy Data by Column] ... Application Data: USER.TABLE|COLUMN Convertible Truncation Lossy -------------------------------------------------- ---------------- ---------------- ---------------- ... LEG.SUB_MON_STAT|COMMT 0 1 1 LEG.SUB_MON_STAT|LINE_NUM 0 3,238 7,426 LEG.SUB_MON_STAT|REF_DES 0 0 1 LEG.SUB_MON_STAT|SUB_STA_NM 0 1,268 7,426 LEG.Z_TEST|VAL 0 0 2 -------------------------------------------------- ---------------- ---------------- ----------------
上記の内容を解釈すると次のようになる。
- LEG.SUB_MON_STATテーブルはAL32UTF8に変更すると、正常に変換されるvalueはなく、4,507個のvalueが切り捨て(Truncation)され、14,854個のvalueは損失/壊れ(Lossy)が発生する。各列ごとに次のようになります
- COMMT:AL32UTF8に変更すると、正常に変換される値はなく、1つの値が切り捨てられ、1つの値が損失/壊れ(Lossy)が発生する
- LINE_NUM:AL32UTF8に変更すると、正常に変換される値はなく、3,238個の値が切り捨てられ、7,426個の値が損失/壊れた(Lossy)が発生する
- REF_DES:AL32UTF8に変更すると、正常に変換される値はなく、1つの値は損失/壊れ(Lossy)が発生する
- SUB_STA_NM:AL32UTF8に変更すると、正常に変換される値はなく、1,268個の値が切り捨てられ、7,426個の値が損失/壊れ(Lossy)が発生する
- LEG.Z_TESTテーブルはAL32UTF8に変更すると、正常に変換される valueはなく、切り捨て(Truncation)は valueもなく、2つのvalueは損失/壊れ(Lossy)が発生する。 VAL列がこれに該当します。
5.3.5。 csscan実行結果の確認-scan.out(scanターゲットテーブル情報)
scan.outファイルでは、scanターゲットテーブルのリストを確認できます。
Character Set Scanner v2.2 : Release 11.2.0.1.0 - Production on Wed May 7 19:41:28 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Enter array fetch buffer size: 1024000 > Enter number of scan processes to utilize(1..64): 1 > Enumerating tables to scan... . process 1 scanning SYS.SOURCE$[AAAADfAABAAAAXYAAA] . process 1 scanning SYS.TYPE$[AAAAH3AABAAAAzgAAA] . process 1 scanning SYS.ATTRIBUTE$[AAAAH3AABAAAAzgAAA] . process 1 scanning SYS.PARAMETER$[AAAAH3AABAAAAzgAAA] ... . process 1 scanning MDSYS.SDO_CS_SRS[AAAPR3AACAAAEvwAAA] . process 1 scanning SYS.HISTGRM$[AAAAGkAABAAAAoAAAA] . process 1 scanning XDB.XDBACL_PATH_TAB[AAAN7uAACAAAED4AAA] ORA-30967: operation directly on the Path Table is disallowed CSS-00144: failed to scan table XDB.XDBACL_PATH_TAB ... . process 1 scanning XDB.XDB$RESOURCE[AAANy9AACAAADj4AAA] . process 1 scanning APEX_030200.WWV_FLOW_STEP_ITEMS[AAAPrtAACAAAGBgAAA] . process 1 scanning SYS.VIEW$[AAAABFAABAAAAJwAAA] ... . process 1 scanning LEG.SUB_MON_STAT[AAAQZLAAEAAAACIAAA] ... Creating Database Scan Summary Report... Creating Individual Exception Report... Scanner terminated successfully.
ここでは以下の内容を確認することができる。
- 行31:テスト環境に作成したLEGユーザーのSUB_MON_STATテーブルをスキャンします
5.3.6。 csscan実行結果の確認-scan.err(エラー詳細履歴)
scan.err ファイルでは、各テーブル、列の character set 変換エラー履歴を詳細に見ることができる。
Database Scan Individual Exception Report [Database Scan Parameters] Parameter Value ------------------------------ ------------------------------------------------ CSSCAN Version v2.1 Instance Name oraus7 Database Version 11.2.0.1.0 Scan type Full database Scan CHAR data? YES Database character set US7ASCII FROMCHAR US7ASCII TOCHAR AL32UTF8 Scan NCHAR data? NO Array fetch buffer size 1024000 Number of processes 1 Capture convertible data? NO ------------------------------ ------------------------------------------------ [Data Dictionary individual exceptions] User : SYS Table : COM$ Column: COMMENT$ Type : VARCHAR2(4000) Number of Exceptions : 11 Max Post Conversion Data Size: 381 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAAACIAABAAAQTfABN lossy conversion 사용월 AAAACIAABAAAQTfABO lossy conversion 호선명 AAAACIAABAAAQTfABP lossy conversion 지하철역코드 AAAACIAABAAAQTfABQ lossy conversion 지하철역명 AAAACIAABAAAQTfABR lossy conversion 승차인원수 AAAACIAABAAAQTfABS lossy conversion 하차인원수 AAAACIAABAAAQTfABT lossy conversion 작업일자 AAAACIAABAAAQTfABU lossy conversion 비고 AAAACIAABAAAQTfABV lossy conversion 참조설명 AAAACIAABAAAQTfABW lossy conversion 참조이미지 AAAACIAABAAAQTfABX lossy conversion 지하철역별승하차인원 ------------------ ------------------ ----- ------------------------------ [Application data individual exceptions] User : LEG Table : SUB_MON_STAT Column: SUB_STA_NM Type : VARCHAR2(20) Number of Exceptions : 7426 Max Post Conversion Data Size: 54 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAAQZLAAEAAAAC+AA+ lossy conversion 용문 AAAQZLAAEAAAAC+AA/ lossy conversion 서울역 AAAQZLAAEAAAAC+AA0 lossy conversion 도심 AAAQZLAAEAAAAC+AA1 lossy conversion 팔당 AAAQZLAAEAAAAC+AAH lossy conversion 월곶 AAAQZLAAEAAAAC+AAI lossy conversion 소래포구 AAAQZLAAEAAAAC+AAI exceed column size 24 소래포구 AAAQZLAAEAAAAC+AAJ lossy conversion 인천논현 AAAQZLAAEAAAAC+AAJ exceed column size 24 인천논현 ... ------------------ ------------------ ----- ------------------------------ User : LEG Table : SUB_MON_STAT Column: COMMT Type : VARCHAR2(4000) Number of Exceptions : 1 Max Post Conversion Data Size: 9000 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAAQZLAAEAAAACOAAA lossy conversion 서울역서울역서울역서울역서울역 AAAQZLAAEAAAACOAAA exceed column size 9000 서울역서울역서울역서울역서울역 ------------------ ------------------ ----- ------------------------------ User : LEG Table : SUB_MON_STAT Column: LINE_NUM Type : VARCHAR2(14) Number of Exceptions : 7426 Max Post Conversion Data Size: 38 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAAQZLAAEAAAAC+AA+ exceed column size 18 중앙선 AAAQZLAAEAAAAC+AA+ lossy conversion 중앙선 AAAQZLAAEAAAAC+AA/ lossy conversion 1호선 AAAQZLAAEAAAAC+AA0 exceed column size 18 중앙선 AAAQZLAAEAAAAC+AA0 lossy conversion 중앙선 AAAQZLAAEAAAAC+AA1 exceed column size 18 중앙선 ... ------------------ ------------------ ----- ------------------------------ User : LEG Table : SUB_MON_STAT Column: REF_DES Type : CLOB Number of Exceptions : 1 Max Post Conversion Data Size: 3000 ROWID Exception Type Size Cell Data(first 30 bytes) ------------------ ------------------ ----- ------------------------------ AAAQZLAAEAAAACOAAA lossy conversion 서울역서울역서울역서울역서울역 ------------------ ------------------ ----- ------------------------------
US7ASCII環境でのCSSCAN実行結果ファイルは、以下のgithubリポジトリで確認できます。
- scan.txt: Oracle-CharacterSet-Conversion/scan.txt at main · DAToolset/Oracle-CharacterSet-Conversion (github.com)
- scan.out: Oracle-CharacterSet-Conversion/scan.out at main · DAToolset/Oracle-CharacterSet-Conversion (github.com)
- scan.err: Oracle-CharacterSet-Conversion/scan.err at main · DAToolset/Oracle-CharacterSet-Conversion (github.com)
5.3.7。 CSSCAN実行結果テーブルのバックアップ
CREATE TABLE Z_CSSCAN_COL_SUMMARY AS SELECT '20140507' BASE_DT, U.USERNAME, TC.TABLE_NAME, TC.COLUMN_NAME ,CC.NUMROWS, CC.NULCNT, CC.CNVCNT, CC.CNVTYPE, CC.ERRCNT, CC.SIZERR, CC.CNVERR, CC.MAXSIZ, CC.CHRSIZ FROM CSMIG.CSM$COLUMNS CC INNER JOIN DBA_USERS U ON (CC.USR# = U.USER_ID) INNER JOIN DBA_OBJECTS O ON (CC.OBJ# = O.OBJECT_ID) INNER JOIN DBA_TAB_COLUMNS TC ON (CC.COL# = TC.COLUMN_ID AND O.OBJECT_NAME = TC.TABLE_NAME) WHERE 1=1 AND U.USERNAME = 'LEG' AND O.OBJECT_TYPE = 'TABLE' AND CC.ERRCNT <> 0;
上記のDDL実行結果で生成されるデータの例は次のとおりです。
Row# | BASE_DT | USERNAME | TABLE_NAME | COLUMN_NAME | NUMROWS | NULCNT | CNVCNT | CNVTYPE | ERRCNT | SIZERR | CNVERR | MAXSIZ | CHRSIZ |
1 | 20140507 | LEG | Z_TEST | VAL | 2 | 0 | 0 | 0 | 2 | 0 | 2 | 12 | 0 |
2 | 20140507 | LEG | SUB_MON_STAT | LINE_NUM | 7426 | 0 | 0 | 0 | 7426 | 3238 | 7426 | 38 | 0 |
3 | 20140507 | LEG | SUB_MON_STAT | SUB_STA_NM | 7426 | 0 | 0 | 0 | 7426 | 1268 | 7426 | 54 | 0 |
4 | 20140507 | LEG | SUB_MON_STAT | COMMT | 7426 | 7425 | 0 | 0 | 1 | 1 | 1 | 9000 | 0 |
5 | 20140507 | LEG | SUB_MON_STAT | REF_DES | 7426 | 7425 | 0 | 0 | 1 | 0 | 1 | 3000 | 0 |
これまで、US7ASCII環境CSSCANの実行結果について見てきました。次に、KO16MSWIN949テスト環境でCSSCANを実行した結果について説明します。