解决方案 »

  1.   

    从错误信息字面上看好像是文件太大了!linux下,用split之类的工具把文件分割成若干的小块文件再试试看!
      

  2.   

    你知道sqlldr 命令有没有什么参数可以设置允许load的数据文件大小的吗?
      

  3.   

    和数据文件大小没什么关系。这是因为记录较长,而缓冲区太小
    指定READSIZE参数来把缓冲区增大,这个值默认是1048576
      

  4.   

    记录长度,和字段数没太大关系。sql*loader一次性从文件中读取若干记录到缓冲区中,然后commit。记录较长的话,默认的缓冲区大小可能不足以容纳这些记录
    应该设成多大合适不好说,设成20M(20971520)试试
      

  5.   

    还是不行     我试了800M的    只是时间长点   最后还是同样报错        我设置1G的,结果报System error:cannot allocate memory  错误
      

  6.   

    按说是readsize的问题,不过设置到800M都能错,那我猜测是在windows环境下,导入unix格式文件,由于回车换行的差异导致所有记录都被认为成一行记录了。