日期:2014-05-16  浏览次数:20363 次

Oraclet命令行imp时报值太大(ORA-12899)的解决办法

对于Oracle的认识很浅显,工作需要,没办法,硬上吧。。。

在写一款跨库数据导入工具时,后台(Hibernate)总报值太大,开始以为是程序有问题,做了字符长度限制处理,工具是可以用了,但是查了下库,看到字符的长度是够的,又查了下字符编码,两者有区别。。。

解决办法:

?

SQL>select * from V$NLS_PARAMETERS
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
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK
SQL>SHUTDOWN IMMEDIATE
SQL>STARTUP

?经过了以上的折腾,就解决了值太大的问题了。

?