import oracle dump file其中源数据库和目标数据库具有不同的字符集

时间:2017-02-20 11:24:01

标签: oracle oracle11g

我正在尝试将使用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。因此,我无法改变此字符集以匹配源。

有没有办法在不收到转换错误的情况下导入转储文件?

由于

1 个答案:

答案 0 :(得分:1)

问题是某些字符每个字符占用的字节数超过一个字节。您需要将数据库nls_length_semantics更改为“CHAR”并重新导入。可在此处找到分步说明:http://albertolarripa.com/2012/06/10/ora-12899-changing-columns-to-char/