oracle导入数据库报错:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACLE 错误 12899
2014-02-19 18:37
489 查看
情景重现:
从oracle 10g环境下exp出来的数据,imp到10g数据库的时候就出现下面这个错误。
IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "JACKEYJ"."JK_REGISTER"."OPNAME" 的值太大 (实际值: 21, 最大值: 20)
列 1 523
可能的原因:操作系统类型不同导致的。
解决方法:
修改oracle 10g的字符集
Oracle
修改数据库字符集为:ZHS16GBK
在oracle目录下 打开应用程序开发--> SQL Plus,然后:
查看服务器端字符集SQL > select * from V$NLS_PARAMETERS
修改:$sqlplus /nolog
SQL>conn / as sysdba (ps: 在cmd中可以直接粘贴)
若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,
然后执行以下命令:
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;
接下来可能出现两种情况:
ERROR at line 1 RA-12721: operation cannot execute when other sessions are active
1、若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
RROR at line 1:
2、结果报错,提示新字符集必须是老字符集的超集。
于是强制转换
>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
最后步骤:
>shutdown immediate;
>STARTUP;
从oracle 10g环境下exp出来的数据,imp到10g数据库的时候就出现下面这个错误。
IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "JACKEYJ"."JK_REGISTER"."OPNAME" 的值太大 (实际值: 21, 最大值: 20)
列 1 523
可能的原因:操作系统类型不同导致的。
解决方法:
修改oracle 10g的字符集
Oracle
修改数据库字符集为:ZHS16GBK
在oracle目录下 打开应用程序开发--> SQL Plus,然后:
查看服务器端字符集SQL > select * from V$NLS_PARAMETERS
修改:$sqlplus /nolog
SQL>conn / as sysdba (ps: 在cmd中可以直接粘贴)
若此时数据库服务器已启动,则先执行 SHUTDOWN IMMEDIATE 命令关闭数据库服务器,
然后执行以下命令:
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;
接下来可能出现两种情况:
ERROR at line 1 RA-12721: operation cannot execute when other sessions are active
1、若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查:
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
ORA-12712: new character set must be a superset of old character set
RROR at line 1:
2、结果报错,提示新字符集必须是老字符集的超集。
于是强制转换
>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
最后步骤:
>shutdown immediate;
>STARTUP;
相关文章推荐
- oracle导入数据库报错:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACLE 错误 12899
- IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
- IMP-00003: 遇到 ORACLE 错误 20001,导数据出现问题
- ORACLE 导入IMP错误之(imp-00003:遇到oracle错误1950,对表空间无权限)
- imp导入数据到ORACLE遭遇ORA-12899错误
- imp导入数据到ORACLE遭遇ORA-12899错误
- Oracle问题imp-10019:由于ORACLE错误12899而拒绝行
- imp-00003: 遇到 ORACLE 错误 20001,导数据出现问题
- Oracle IMP-00003: 遇到 ORACLE 错误 20001,导数据出现问题
- imp导入数据到ORACLE遭遇ORA-12899错误
- oracle imp 命令导入数据库报 ORACLE error 1658 encountered 错误 --原因是表空间不足。。。。
- IMP-00003: 遇到 ORACLE 错误 1031
- Oracle用imp导入dmp 提示遇到 ORACLE 错误 12560 TNS: 协议适配器错误 解决方法
- oralce数据导入遇到 imp错误IMP-00058: IMP-00000: 未成功终止导入
- oracle IMP EXP的技巧,和解决IMP-00003: 遇到 ORACLE 错误 1435 ORA-01435: 用户不存在
- 使用 oracle 10g 的 imp 导入遇到 oracle 错误 20000:
- IMP-00003:遇到ORACLE错误 27477,调度对象已存在
- IMP导入错误 IMP-00003: ORACLE error 2298 encountered
- oracle 10g\11g用imp导入数据的时候报错:ORA-01658: 无法为表空间 MAXDATA 中的段创建 INITIAL 区 错误解决
- oracle用imp/impdp导入数据时,ora错误乱码解决