问题: imp-00019: 由于 oracle 错误 12899 而拒绝行 imp-00003: 遇到 oracle 错误 12899 ora-12899: 列 jackeyj.jk_register.opname 的值太大 (实际值: 21, 最大值: 20) 列 1 523 从9i环境下exp出来的数据,imp到10g数据库的时候就出现这个错误。 解决方案
问题:
imp-00019: 由于 oracle 错误 12899 而拒绝行
imp-00003: 遇到 oracle 错误 12899
ora-12899: 列 jackeyj.jk_register.opname 的值太大 (实际值: 21, 最大值: 20)
列 1 523
从9i环境下exp出来的数据,imp到10g数据库的时候就出现这个错误。
解决方案:
修改oracle 10g的字符集
oracle
修改数据库字符集为:zhs16gbk
查看服务器端字符集sql > select * from v$nls_parameters
修改:$sqlplus /nolog
sql>conn / as sysdba
若此时数据库服务器已启动,则先执行 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:ora-12721: operation cannot execute when other sessions are active
若出现上面的错误,使用下面的办法进行修改,使用internal_use可以跳过超集的检查:
sql>alter database character set internal_use zhs16gbk
sql>shutdown immediate
sql>startup