导入语句:imp dvb_cas/dvb_cas123@ohmygol fromuser=dvb_cas touser=dvb_cas file=E:\udrmdb20110510.dmp出现错误提示:
IMP-00020: 用于列缓冲区大小 (6) 的长整数列过大
IMP-00028: 上一个表的部分导入已回退: 回退 110352 行
成功终止导入,但出现警告。数据没有被导入用commit=y导入:imp dvb_cas/dvb_cas123@ohmygol fromuser=dvb_cas touser=dvb_cas file=E:\udrmdb20110510.dmp commit=y同样出现提示:
IMP-00020: 用于列缓冲区大小 (6) 的长整数列过大
IMP-00028: 上一个表的部分导入已回退: 已导入 110352 行
成功终止导入,但出现警告。查看数据库数据已被导入,请问这是什么原因?
buffer=999999已试过,一样的情况。

解决方案 »

  1.   

    在metalink查找,发现这可能是一个bug,bug号:2417643,是由于通过dblink采用CTAS方式导入含有timestamp类型的表而引起精度丢失你的表中是不是有TIMESTAMP类型的数据,把精度改下。
      

  2.   

    在9i 9.2.0.8、10g 10.2.0.1、11g 11.1.0.6上未发现此create table as select .....的BUG。
    楼主是用的什么数据库版本?
      

  3.   

    另外,是否导出时使用了direct=y 参数直接路径导出,
    设置direct=n导出,再倒入试试
      

  4.   


    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    PL/SQL Release 9.2.0.1.0 - Production
    CORE 9.2.0.1.0 Production
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    NLSRTL Version 9.2.0.1.0 - Production
      

  5.   


    导出时没有加任何参数:
    exp system/dvb_cas123@ohmygol owner=dvb_cas file=E:\udrmdb20110510.dmp
      

  6.   


    表中没有TIMESTAMP类型的数据