oracle导入失败,超出长度

Posted 欣欣点灯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle导入失败,超出长度相关的知识,希望对你有一定的参考价值。

oracle导入失败,超出长度
出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899
其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题;
 
按照下面给出的命令依次执行就可以了,
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










以上是关于oracle导入失败,超出长度的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 导入DMP 出错

Oracle 导入DMP 出错

Oracle9i用客户端PLSQL导入dmp文件的时候,有一些表的主键导入失败。帮帮忙。

Sqoop 作业因 Oracle 导入的 KiteSDK 验证错误而失败

oracle导入提示 “IMP-00010:不是有效的导出文件,头部验证失败”

使用kettle工具时,将excel表格中的数据导入到oracle数据库时,输出项出错。