(转)30 IMP-00019: row rejected due to ORACLE error 12899

IMP-00019: row rejected due to ORACLE error 12899
IMP-00003: ORACLE error 12899 encountered
ORA-12899: value too large for column "CRM"."BK_ECS_ORDER_INFO_00413"."POSTSCRIPT" (actual: 895, maximum: 765)导入日志报

IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "JACKEYJ"."JK_REGISTER"."OPNAME" 的值太大 (实际值: 21, 最大值: 20)
出现这种问题时因为生产库的字符集和本机测试库的字符集不一样。

到生产库上用

select userenv('language') from dual;

查看到是ZHS16GBK,而本机库是utf-8用一下命令修改本机库字符集

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 INTERNAL_USE ZHS16GBK;

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP

设置后导入成功!

还有注意一点就是建表空间和用户时要和生产库的表空间名称、数据文件名称、用户名、密码都要一致
导入oracle 时发现有几张表导入时一直报错:

报错信息:IMP-00003: ORACLE error 959 encountered   ORA-00959: tablespace 'HB' does not exist

原因:要导入库中如果有表字段类型为CLOB,且要导入的表空间名和原表空间名不一样就会报如下的错。

解决方法:

1.      事先在target端建好CLOB字段所需的原名表空间

2.      事先在target端建好DEPT表结构,并在impdp导入时使用参数CONTENT=DATA_ONLY(我没有用过)

3.      在使用impdp导入时,使用参数remap_Tablespace=YOUFEE_LOB:USERS

        remap_tablespace 数据库对象本来存在于A表空间,现在你不想放那儿了,想换到B,就用这个remap_tablespace=A:B

 

 

 

转自:http://www.blogjava.net/cpegtop/articles/371962.html

http://www.cnblogs.com/xbding/p/3402346.html

posted @ 2015-06-12 11:17  艾阳君  阅读(3394)  评论(0编辑  收藏  举报