Oracle Character set identification

character-setimportoracle-11g-r2

In the given export(Normal Export) log file i see following:

Export done in WE8ISO8859P1 character set and AL16UTF16 NCHAR character set

Is this multi-byte or single byte database char-set.

Can you please explain me a bit

  • What is difference between multi-byte and single byte character set?
  • Can we import multibyte into Single byte and vice versa?
  • How can we identify weather a character set is multi-byte or single byte by looking into its name?

Please provide any other useful information on this topic?

Best Answer

Ok, this basically means:

  • The National character set of the database you exported from was AL16UTF16. This is a multi-byte character set and, being the national character set, would have been used for any NCHAR, NVARCHAR and NCLOB columns (the N in the name stands for "national").
  • The "normal" character set of the database you exported from was WE8ISO8859P1. This is an 8-bit character set (the Western European ISO variant) and would have been used for any CHAR, VARCHAR and CLOB columns.

You can see which character sets are being used by a particular database by querying the NLS_DATABASE_PARAMETERS data dictionary view. Your export would have been done from a database with the parameter NLS_CHARACTERSET set to WE8ISO8859P1, and the NLS_NCHAR_CHARACTERSET parameter set to AL16UTF16.

The difference between multi-byte and single-byte character sets is explained in the name. Single-byte characters are stored in a single byte, i.e. 8 bits. Multi-byte characters are stored in one or more (multiple) bytes.

As far as importing multi-byte into single-byte (and vice versa) is concerned, it really depends on the character encodings and whether or not the source character actually exists in the target character set. By way of example, a Japanese multi-byte character is not going to exist in the US7ASCII character set, and you'd end up with a database full of ? signs.

I strongly suggest you read the Oracle Globalization Support Guide, as this goes into the topic of internationalisation in great detail.