(轉)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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM