导入源数据库和目标数据库具有不同字符集的oracle转储文件

导入源数据库和目标数据库具有不同字符集的oracle转储文件,oracle,oracle11g,Oracle,Oracle11g,我正在尝试将使用Oracle Database 11g Enterprise Edition导出的.dmp文件导入到运行在Windows 7上的Oracle 11g XE中,但我收到了以下许多错误: ORA-02374: conversion error loading table "SCHEMA"."TABLENAME" ORA-12899: value too large for column COLNAME (actual: 90, maximum: 75) 我使用的导入命令: impd

我正在尝试将使用Oracle Database 11g Enterprise Edition导出的.dmp文件导入到运行在Windows 7上的Oracle 11g XE中,但我收到了以下许多错误:

ORA-02374: conversion error loading table "SCHEMA"."TABLENAME"
ORA-12899: value too large for column COLNAME (actual: 90, maximum: 75)
我使用的导入命令:

impdp system/pwd remap_schema=OLD_SCHEMA:NEW_SCHEMA tables=OLD_SCHEMA.Table1,OLD_SCHEMA.Table2 directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=import.log exclude=grant,index,statistics
转储文件的字符集是
WE8ISO8859P1
,而我的目标数据库是
AL32UTF8

我在某个地方读到Oracle 11g XE仅支持AL32UTF8。因此,我无法更改此字符集以匹配源

是否有任何方法可以导入转储文件而不出现转换错误


谢谢

问题是有些字符会占用每个字符超过一个字节。您需要将数据库nls_length_语义更改为“CHAR”,然后重新导入。可在此处找到逐步说明: