`

imp导入数据到ORACLE遭遇ORA-12899错误

 
阅读更多
imp导入数据到ORACLE遭遇ORA-12899错误
错误信息:

IMP-00019: row rejected due to ORACLE error 12899
IMP-00003: ORACLE error 12899 encountered
ORA-12899: value too large for column "JRGAZX"."DTLMB"."CC" (actual: 66, maximum: 50)

初步断定是字符集问题,中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,而源dmp文件字符集是ZHS16GBK的库到出来的,现在要导入到目标字符集为UFT-8的库里。

修改oracle 10g的字符集
Oracle
修改数据库字符集为:ZHS16GBK
查看服务器端字符集SQL > select * from V$NLS_PARAMETERS
修改:$sqlplus /nolog
SQL>conn / as sysdba

SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP MOUNT
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK ;
ALTER DATABASE CHARACTER SET ZHS16GBK
*ERROR at line 1:
ORA-12712: new character set must be a superset of old character set

报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:

SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP

再次用imp导入,就没有问题了。

oracle@server$ imp jrgazx/jrgazx file=/opt/jrgazx1/jrgazx1.dmp  fromuser=jrgazx TABLES=CWFXZB,CXQK,DQBGYYPLSJB,DQTZSM,DSYP,DTLMB

Import: Release 10.2.0.1.0 - Production on Wed May 27 01:22:54 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.02.01 via conventional path
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)
. importing JRGAZX's objects into JRGAZX
. importing JRGAZX's objects into JRGAZX
. . importing table                       "CWFXZB"      57197 rows imported
. . importing table                         "CXQK"       8471 rows imported
. . importing table                  "DQBGYYPLSJB"      30593 rows imported
. . importing table                       "DQTZSM"      11173 rows imported
. . importing table                         "DSYP"       4906 rows imported
. . importing table                        "DTLMB"     390372 rows imported
Import terminated successfully without warnings.
---------END-----------
分享到:
评论

相关推荐

    数据库ORA-01460错误的解决方法

    ORA-01460错误全称为“ORA-01460: unimplemented unreasonable conversion requested”,主要出现在Oracle数据库中,当系统试图将一种数据类型转换为另一种无法处理的数据类型时触发。这种错误常见于数据导出(如...

    BLOG_Oracle_lhr_imp-00051,imp-00008

    IMP(Import)是 Oracle 数据库中的一个实用工具,用于将数据从一个数据库导入到另一个数据库中。IMP 命令可以从导出文件中读取数据,并将其导入到目标数据库中。但是,在使用 IMP 命令时,可能会遇到一些错误,例如...

    SHOUG文档分享-ORACLE-TTS迁移后ORA3113错误处理-SHOUG成员左翼

    迁移是数据库维护和升级的重要环节,它涉及到数据的导出、传输和导入。迁移过程中,可能会因为数据格式、存储结构的差异以及软件层面的不兼容,导致各种预料之外的错误,其中就包括了本案例中提及的ORA3113错误。 ...

    oracle导入备份DMP报实际值最大值错误

    错误信息"IMP-00019: 由于 ORACLE 错误 12899 而拒绝行IMP-00003: 遇到 ORACLE 错误 12899ORA-12899: 列 'JACKEYJ"."JK_REGISTER"."OPNAME" 的值太大 (实际值: 21, 最大值: 20)"表明某个表('JK_REGISTER')的特定...

    Oracle 导入错误IMP-00010:不是有效的导出文件,头部验证失败

    在Oracle数据库管理中,"IMP-00010:不是有效的导出文件,头部验证失败" 是一个常见的导入错误,通常发生在尝试使用`expdp`(数据泵导出)或`impdp`(数据泵导入)工具进行数据迁移或备份恢复时。这个错误意味着系统...

    Oracle 19c 备份恢复-导入导出

    Oracle 19c 备份恢复-导入导出是指使用 Oracle 数据库提供的工具 exp 和 imp 实现数据库的备份恢复和数据的导入导出。本文将详细介绍 Oracle 19c 备份恢复-导入导出的基本命令、工作方式、模式、选项和高级选项。 ...

    Oracle数据泵导入导出

    ### Oracle数据泵导入导出详解 #### 一、Oracle数据泵简介 Oracle数据泵是一种用于在Oracle数据库之间高效传输数据的工具集。它提供了一种快速、可靠的方式来导出和导入数据,支持从简单的表数据到整个数据库的...

    wxh \OracleDBA新手经常碰到的10个Oracle错

    在导入数据时可能会遇到IMP-0003、ORA-942 和 IMP-00023等错误。 #### 解决方法: 在执行导入前,以SYS用户身份运行`catalog.sql`和`expvew.sql`(v7版本中名为`catexp.sql`)脚本。这两个脚本位于`$ORACLE_HOME/...

    如何把.dmp文件导入oracle中

    在日常工作中,我们经常需要将数据从一个Oracle数据库迁移到另一个Oracle数据库。通常情况下,这可以通过使用Oracle的导出(exp)和导入(imp)工具来实现。本文将详细介绍如何将一个 `.dmp` 文件导入到Oracle数据库...

    oracle9i全备份导入到11g说明

    这种情况下,如果直接进行导入操作,很可能会出现如下的错误提示:“ORA-02236: invalid filename”等,这些错误主要与临时表空间的创建有关。 #### 二、Oracle 数据库 Block Size 概念解析 在深入讨论解决方案之前...

    Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例

    这两个错误通常涉及到数据泵在处理数据泵作业时内部出现的异常。ORA-39065 表示在DISPATCH过程中遇到了未预期的主进程异常,而ORA-44002则意味着对象名无效。这个错误可能是由于内部错误或配置问题导致的。解决这个...

    oracleClient安装包exp和imp文件.zip

    IMP同样提供了多种导入选项,比如只导入数据而不导入结构,或者忽略错误继续导入。通过IMP,用户还可以选择覆盖现有的数据库对象或追加到现有数据中。 **使用场景**: 1. **数据迁移**:当需要将数据从一个Oracle...

    Oracle Database Error Messages 11g Release 2 11 2

    1. 错误代码(Error Code):每条错误消息通常以一个唯一的代码开始,比如我们例子中的“ORA-00001”或“IMP-00000”。这些代码可以帮助用户快速识别问题的性质。 2. 简单原因(Cause):这是对错误发生的原因的...

    oracle数据库导入导出命令

    2. **给用户增加导入数据权限**:为了确保能够成功地将导出的数据再次导入到Oracle数据库中,还需要为特定的用户添加必要的权限。具体步骤如下: 1. **启动SQL\*Plus**:首先打开SQL\*Plus工具。 2. **以system/...

    教你在oracle中导入.dmp数据库文件

    Oracle提供了两种工具:EXP(Export)和IMP(Import),它们分别用于数据的导出和导入。这两个实用程序在Oracle安装目录下的BIN子目录中,如ora92BIN或ora81BIN,它们通常被添加到系统的PATH环境变量中,以便于在...

    oracle导入时表空间不一致解决方法

    在进行Oracle数据迁移时,源系统与目标系统的表空间可能存在差异,这会导致在执行`imp`命令时出现错误提示,如“ORA-01546: object in wrong tablespace”。为了解决这一问题,我们需要采取一系列步骤来调整表空间...

    oracle 10g 导入 9i 00003 错误解决.txt

    00003错误通常与数据兼容性有关,特别是当从低版本的数据文件或备份导入到高版本的Oracle数据库时。这种错误可能是由于数据结构不一致、表空间或段信息不匹配等原因引起的。 #### 错误原因分析 1. **数据结构不一致...

    Oracle_exp_imp导出导入命令及数据库备份

    Oracle数据库的备份与恢复是数据库管理中的重要环节,Oracle提供了内置的工具——exp(导出)和imp(导入)命令,用于实现这一目的。这两个命令是Oracle早期版本中用于数据备份和恢复的主要方法,虽然在现代Oracle版本中...

Global site tag (gtag.js) - Google Analytics