我正在尝试将使用Oracle Database 11g企业版导出的.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
。因此,我无法改变此字符集以匹配源。
有没有办法在不收到转换错误的情况下导入转储文件?
由于
答案 0 :(得分:1)
问题是某些字符每个字符占用的字节数超过一个字节。您需要将数据库nls_length_semantics更改为“CHAR”并重新导入。可在此处找到分步说明:http://albertolarripa.com/2012/06/10/ora-12899-changing-columns-to-char/