ora-12899错误解决

Imp中出现Ora-12899错误的解决方法:

操作方法:

从磁盘中导入备份的数据文件到oracle数据库中,使用如下window导入命令:

C: IMP CWA6/CWA6 file=D:beifen.dmp fromuser=CWA6 touser=CWA6

Ora-12899value too large for column

问题分析:

备份的数据文件的源数据库使用的字符集类型是ZHS16BGK

而目标数据库(本机数据库)使用的字符集类型是UTF-8

汉字字符在前者存放时需要占用2个字节,在后者存放时需要占用3个字节。

IMP的过程中,原先备份数据表的数据字段复制到目标数据库中存放,但数据存储过程中,由于目标数据库中字符集与源数据库字符不同,导致存放进目标数据库中的数据比存放在源数据库中所需要的空间要大,故源数据表的字段无法满足现有的数据大小,所以才会出现(“xx.xx.xx字段“(实际值:3,最大值:2))的情况。

解决方法:

更改数据库的字符集类型。

sqlplus中更改的具体操作步骤如下:

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 612368384 bytes

Fixed Size 1250428 bytes

Variable Size 146803588 bytes

Database Buffers 457179136 bytes

Redo Buffers 7135232 bytes

数据库装载完毕。

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 immedate;

SP2-0717: 非法的 SHUTDOWN 选项

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 612368384 bytes

Fixed Size 1250428 bytes

Variable Size 146803588 bytes

Database Buffers 457179136 bytes

Redo Buffers 7135232 bytes

数据库装载完毕。

数据库已经打开。

测试:

CMD命令窗口执行IMP命令:

C: IMP CWA6/CWA6 file=D:beifen.dmp fromuser=CWA6 touser=CWA6

系统将不会再出现ora-12899的错误。

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24829399/viewspace-1055912/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24829399/viewspace-1055912/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值