【问题标题】:import oracle dump file where source and destination databases have different character sets导入源数据库和目标数据库具有不同字符集的 oracle 转储文件
【发布时间】:2017-02-20 11:24:00
【问题描述】:

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

有什么方法可以导入转储文件而不会出现转换错误?

谢谢

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    问题是某些字符每个字符会占用一个以上的字节。您需要将数据库 nls_length_semantics 更改为“CHAR”并重新导入。一步一步的解释可以在这里找到:http://albertolarripa.com/2012/06/10/ora-12899-changing-columns-to-char/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多