2017-02-14 2 views
2

Ich versuche, einige Datenbanken zu konsolidieren, und ich habe einige Probleme mit CHARACTER-Sets.Oracle: Konvertierung von WE8ISO8859P1 zu AL32UTF8

Meine Datenbank sieht wie folgt aus:

Source-Datenbank

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
NLS_CHARACTERSET WE8ISO8859P1 
NLS_NCHAR_CHARACTERSET AL16UTF16 
NLS_LENGTH_SEMANTICS BYTE 

Zieldatenbank

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 
NLS_CHARACTERSET AL32UTF8 
NLS_NCHAR_CHARACTERSET AL16UTF16 
NLS_LENGTH_SEMANTICS BYTE 

ich einen Export in ein Schema gemacht, aber wenn ich importiert in der neue Datenbank Ich habe viele Fehler wie:

ORA-02374: conversion error loading table owner.table_name 
ORA-12899: value too large for column col_name (actual: 403, maximum: 400) 

Ich habe das csscan Dienstprogramm ausführen. Hier ist das Ergebnis:

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 
------ ------------- ------------- ------------- 

So gibt es eine Möglichkeit, vor dem Import den Wert von VARCHAR2 in Ziel, um herauszufinden? Ich kann die Struktur der Tabellen ändern. In unserem Beispiel kann ich meine Tabelle ändern und die Größe der Spalte von 400 auf 403 ändern.

Wenn Sie weitere Informationen oder etwas anderes benötigen, hinterlassen Sie einen Kommentar.

Vielen Dank im Voraus!

+0

Noch keine Lösung für mein Problem. Irgendwelche Ideen? Danke im Voraus! – adimoise91

Antwort

0

Das csscan-Tool teilt Ihnen mit, wie groß die TRUCTION-Datensätze nach der Konvertierung sein werden, und Sie können damit die Größe Ihres Felds ändern. Im folgenden Beispiel müssen Sie die Größe der SAMPLE_COLUMN von VARCHAR (40) auf VARCHAR (43) ändern, um alles abzudecken, das konvertiert wird:

csscan .err Beispielausgabe:

User : SAMPLE_USER 
Table : SAMPLE_TABLE 
Column: SAMPLE_COLUMN 
Type : VARCHAR2(40) 
Number of Exceptions   : 5 
Max Post Conversion Data Size: 43 

Hope Diese hilft.