當前位置:成語大全網 - 新華字典 - 如何使用Oracle提供的字符掃描工具csscan

如何使用Oracle提供的字符掃描工具csscan

CSSCAN(Character Set Scanner utility)是Oracle提供的壹個用於檢查字符集轉換過程中可能會出現的數據丟失或者損壞的情況。也可以單獨的掃描某些表某些列能否進行字符集轉換,並且能夠並行掃描以加快掃描速度。

提問:這個字符集掃描器的作用是什麽呢?

回答:查找出在做字符集轉換後,哪些內容無法轉換需要單獨處理,也就是確定並報告在數據轉換過程中會出現的異常問題。

csscan工具檢測完成之後,會報告如下三種類型的異常:

1)lossy conversions(有耗損的轉換)

2)exceeded column length(超出的列長度)

3)convertible or exceptional data in the data dictionary(數據字典中可轉換或者有異常的數據)

再提問:什麽時候使用這個工具?

再回答:如果您像我壹樣,需求是從WE8ISO8859P1字符集升級到AL32UTF8字符集,那麽,第壹步就需要使用這個工具給您的寶貝數據庫做壹個全面的“體檢”了。

2.安裝csscan

1)在數據庫安裝完成之後就會自帶這個工具。此工具的存放路徑如下:

$ which csscan

/u01/app/oracle/product/11.2.0/db_1/bin/csscan

2)這個工具是二進制文件。

3.“實操式”使用csscan現在開始,請大家打起精神。

1)第壹步,以sys用戶登陸,創建所需的CSMIG用戶和數據字典對象。這個步驟是必要條件的,否則工具無法使用。

$ sqlplus / as sysdba

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

SQL> exit;

2)“實操”目標:對目前數據庫做“不留死角”的檢驗。

首先,需要以具有SYSDBA權限的用戶登錄操作;其次就是對這個工具的壹些參數要有所了解。

下面的記錄是在我的測試環境下演示的效果。

註意,這裏為了使用具有SYSDBA權限的用戶操作采用了壹個小技巧,如果不知道的話,可能會比較郁悶。

Shell下的小技巧是:userid="'"sys/sys as sysdba"'",只有這樣使用才能順利的執行。也可以把它放到參數文件中。

(1)如果使用參數文件,語法如下

$cd /home/oracle

$ vi csscan.par

userid="sys/sys as sysdba" full=y fromchar=we8iso8859p1 tochar=AL32UTF8 log=check.log capture=y array=1000000 process=4

$ csscan parfile=csscan.par

舉例:

userid="sys/sys as sysdba" full=y fromchar=ZHS16CGB231280 tochar=AL32UTF8 log=check.log capture=y array=1000000 process=1