更改Oracle数据库的编码格式,解决导入时ORA-12899错误
发布时间:2020-12-12 13:26:09 所属栏目:百科 来源:网络整理
导读:imp导入数据到ORACLE遭遇ORA-12899错误 数据库版本是Oracle 10G XE,从公司数据库的企业版导入时遭遇ORA-12899错误。 错误信息: IMP- 00019 : row rejected due to ORACLE error 12899 IMP - 00003 : ORACLE error 12899 encountered ORA - 12899 : value t
imp导入数据到ORACLE遭遇ORA-12899错误 数据库版本是Oracle 10G XE,从公司数据库的企业版导入时遭遇ORA-12899错误。 错误信息: IMP-00019: row rejected due to ORACLE error 12899 IMP-00003: ORACLE error 12899 encountered ORA-12899: value too large for column "OLP"."ART"."CONTENT" (actual: 242,maximum: 200) 初步断定是字符集问题,中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,而源dmp文件字符集是ZHS16GBK的库到出来的,现在要导入到目标字符集为UFT-8的库里。 修改oracle 10g的字符集 Oracle 修改数据库字符集为:ZHS16GBK 查看服务器端字符集 SQL > select * from V$NLS_PARAMETERS 修改:$sqlplus /nolog ?以下代码需要在SQL plus中运行,无法在PLSQL中运行 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导入,就没有问题了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
热点阅读