title: Oracle: Conversion from WE8ISO8859P1 to AL32UTF8
body: <p>I am trying to consolidate some databases and I have some problems with CHARACTER Sets. </p>
  
  <p>My database looks like this:</p>
  
  <p><strong>Source Database</strong></p>
  
  <pre><code>Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  NLS_CHARACTERSET    WE8ISO8859P1
  NLS_NCHAR_CHARACTERSET  AL16UTF16
  NLS_LENGTH_SEMANTICS    BYTE
  </code></pre>
  
  <p><strong>Destination Database</strong></p>
  
  <pre><code>Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  NLS_CHARACTERSET    AL32UTF8
  NLS_NCHAR_CHARACTERSET  AL16UTF16
  NLS_LENGTH_SEMANTICS    BYTE
  </code></pre>
  
  <p>I made an export to a schema, but when I imported in the new database I have a lot of errors like:</p>
  
  <pre><code>ORA-02374: conversion error loading table owner.table_name
  ORA-12899: value too large for column col_name (actual: 403, maximum: 400)
  </code></pre>
  
  <p>I have run the <strong>csscan</strong> utility. Here is the result:</p>
  
  <pre><code>TABLE   Convertible    Truncation        Lossy
  ------ ------------- ------------- ------------
      1            0             18           24
      2        2,248            120       19,854
      3        2,155            120       19,551
      4        5,431            294       41,531
      5        5,925            114       18,352
      6          129              4        5,095
      7          109              4        5,017
      8        2,149            151        5,219
  ------ ------------- ------------- -------------
  </code></pre>
  
  <p>So, there is any way to find out the value of VARCHAR2 in destination before the import? I can alter the structure of the tables. In our example I can alter my table and modify the size of column from 400 to 403.</p>
  
  <p>If you need more information or anything else, please leave a comment.</p>
  
  <p>Thanks in advance!</p>