IMP出现的ORA-01401错误可能和字符集有关(转载)

简介:

今天在论坛上,看到有一位朋友问

“我备份数据库后在其他的机器上再导入这个数据库,出现如下错误,并只能导
入部分数据。
IMP-00019: row rejected due to ORACLE error 1401
IMP-00003: ORACLE error 1401 encountered
ORA-01401: inserted value too large for column
我装的是ORACLE8.1.7,最后出现column 1 66790 的提示。
该怎么解决?”

我第一想到,IMP会自动创建表,因此,和表字段长度定义不一致显然无关。

那么可能可以解释的就是,字符集的不一致,导致相同的字符,存储空间需求不一致。

exp从一个single byte字符集的数据库,而imp的是一个多字符集的数据库,就有可能出现这样的问题。如WE8ISO8859P1->UTF8

证明如下:

我的数据库采用WE8ISO8859P1字符集。

   我们来看看,你好这个字符的存储字节情况。

   SQL> select dump('你好',16) from dual;

   DUMP('拿好',16)
   -------------------------
   Typ=96 Len=4: c4,e3,ba,c3

*需要4个字节

 而UTF8情况下呢,

 SQL> select dump(convert('你好','UTF8','WE8ISO8859P1'),16) from dual;

DUMP(CONVERT('拿好','UTF8','WE8ISO88
------------------------------------
Typ=1 Len=8: c3,84,c3,a3,c2,ba,c3,83 

*需要8个字节

因此,当DUMP文件内容被IMP到UTF8的表中,就需要8个字节,使原来的一倍,那么显然就会导致ORA-01401: inserted value too large for column的错误。



    本文转自永春博客园博客,原文链接:http://www.cnblogs.com/firstyi/archive/2007/10/17/927562.html,如需转载请自行联系原作者


相关文章
|
算法 程序员 Go
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
[软件工程导论(第六版)]第6章 详细设计(复习笔记)
|
Kubernetes 负载均衡 API
在K8S中,Kube-proxy有什么功能?
在K8S中,Kube-proxy有什么功能?
|
SQL NoSQL 前端开发
大厂如何解决订单幂等问题
本文探讨了分布式系统中接口幂等性的重要性和实现方法,特别是在防止重复下单的场景中。首先介绍了通过数据库事务处理创建订单时的原子性需求。接着分析了服务间调用时可能遇到的重复请求问题,提出每个请求需具备唯一标识,并记录处理状态以识别并阻止重复操作。具体实践包括生成全局唯一的订单ID,利用数据库主键唯一性约束来防止重复插入,以及使用Redis存储订单支付状态。此外,文章还讨论了解决ABA问题(即数据在两次检查之间被修改的问题)的方法,引入版本号机制来确保数据更新的原子性和一致性。这些技术方案不仅限于订单服务,也可广泛应用于需要实现幂等性的其他业务场景中。
|
Docker 容器
docker 停止、启动、删除镜像指令
docker 停止、启动、删除镜像指令
995 0
|
存储 机器学习/深度学习 人工智能
向量数据库简介和5个常用的开源项目介绍
在人工智能领域,有大量的数据需要有效的处理。随着我们对人工智能应用,如图像识别、语音搜索或推荐引擎的深入研究,数据的性质变得更加复杂。这就是向量数据库发挥作用的地方。与存储标量值的传统数据库不同,向量数据库专门设计用于处理多维数据点(通常称为向量)。这些向量表示多个维度的数据,可以被认为是指向空间中特定方向和大小的箭头。
4317 1
|
存储 SQL NoSQL
GreenPlum数据分布机制
GreenPlum数据分布机制
310 0
|
Java
【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)
【Java基础】Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合)
1121 0
|
并行计算 PyTorch 算法框架/工具
RuntimeError: CUDA error (10): invalid device ordinal
造成这个错误的原因主要是本地只有一个 GPU (GPU:0),而程序中使用 GPUs:1。
1425 0
Intellij IDEA 安装插件 报 ‘plugin xxxx is incompatible‘ 解决方案
Intellij IDEA 安装插件 报 ‘plugin xxxx is incompatible‘ 解决方案
Intellij IDEA 安装插件 报 ‘plugin xxxx is incompatible‘ 解决方案