My Oracle Support Banner

Csscan Output Explained (Doc ID 444701.1)

Last updated on JUNE 13, 2023

Applies to:

Oracle Database Exadata Express Cloud Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.

Purpose

 To install Csscan please see:
<Note 458122.1> Installing and Configuring Csscan in 8i and 9i (Database Character Set Scanner)
<Note 745809.1> Installing and configuring Csscan in 10g and 11g (Database Character Set Scanner)

For 8i and 9i please do install Csscan version 1.2 ,  do not use the old csscan versions included in 8i/9i .

The Csscan tool analyzes the code points in the database and verifies that they are known in the source the database characterset and known in the target database characterset.
The output of the Csscan utility is vital to determining the health of the data in the database, and this becomes especially crucial when changing charactersets, as well as during import and export operations or database link transfers when source and target database differ in characterset.
Knowing what the Csscan output shows, and what it means and it's limits helps you to ensure the integrity of the data.

Please note that this note documents csscan output.
Csscan is used in the step by step guides on changing the NLS_CHARACTERSET like <note 260192.1> Changing the NLS_CHARACTERSET to AL32UTF8 / UTF8 (Unicode) , a list of other guides can be found in <note 225912.1>  Changing the Database Character Set ( NLS_CHARACTERSET ) .

When using the new DMU (Database Migration Assistant for Unicode ) tool it is not needed to run csscan (but csscan might be used along side it , if required) and DMU does not use Csscan results or csalter.
The 2 tools do the same (characterset conversion) but are not depending on each other.
For more information on DMU please see <Note 1272374.1> The Database Migration Assistant for Unicode (DMU) Tool. From Oracle 12c onwards, the DMU will be the only tool available to migrate the NLS_CHARACTERSET.

 

Scope

For all DBAs performing a characterset conversion, import/export between databases with different charactersets, and those who wish to learn more about Csscan output.
It covers the basic conventions of the output files, what they mean, and what can be done to resolve the different scenarios that can arise.

Details

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Purpose
Scope
Details
 A) Csscan output files.
 A.1) The .out file
 A.2) The .txt file
 A.3) The .err file.
 B) The meaning of the status of data in the Conversion Summary of the .txt file:
 B.1) CHANGELESS data.
 B.2) CONVERTIBLE data.
 B.3) TRUNCATION data.
 B.4) LOSSY data.
 C) What to do if you have LOSSY data?
 C.1) The lossy characters are not known in the target/new characterset (less likely to happen)
 C.2) The source database has data (codes) that are NOT defined in the source characterset.
  C.3) The limit of what Csscan can detect when dealing with lossy, an example:
 D) What output do you need to see in Csscan to do a characterset change?
 D.1) (any Oracle version) To use a (full) exp/imp into a database with the new characterset.
 D.2) (8i/9i only) To use "Alter Database Character Set".
 D.3) (10g and 11g) To use Csalter.
 E) How to specify sysdba connection using csscan / Do I need to always run a full database scan? / The Csscan EXCLUDE , USER or TABLE parameters do not appear to work.
 F) Do I need to specify toNchar and/or fromNchar when changing the NLS_CHARACTERSET? Can I specify TOCHAR=AL16UTF16?
 G) Can I specify case sensitive user/table/column names as arguments for Csscan?
 H) how to speed up csscan or find the csscan processes in the database and have an idea what they are doing?
 I) Csccan failed to create the .txt or .err file, can this be regenerated? / Is it possible to use Csscan results for own selects instead of using the flat text files?
 J) the number of rows in csscan output looks wrong
 K) I specify SUPPRESS=100 with csscan but more than 100 exceptions are logged in the .err file
References

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.