==================================================================
. . 正在导入表                       "GA_SXX"          2行被导入
. . 正在导入表                   "GA_SXX_TMP"          0行被导入
IMP-00017: 由于 ORACLE 的 6550 错误,以下的语句失败
 "DECLARE  SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := NULL; SREC.MAXVAL :="
 " NULL; SREC.EA"
IMP-00003: 遇到 ORACLE 错误 6550
ORA-06550: 第 1 行, 第 89 列:
PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
:=.(@%;
IMP-00032: SQL 语句超过缓冲区长度
IMP-00032: SQL 语句超过缓冲区长度
IMP-00032: SQL 语句超过缓冲区长度
IMP-00032: SQL 语句超过缓冲区长度
IMP-00032: SQL 语句超过缓冲区长度
=================================================================
用别人导出来的文件导入到新数据库中,总是在导入半时就出现如上的问题,修改buffer的值也不行.在google上搜了一下,只有四条相关,郁闷,有没有也遇到过,帮忙解决一下.

解决方案 »

  1.   

    IMP-00032: SQL 语句超过缓冲区长度IMP-00032 SQL statement exceeded buffer lengthCause: The buffer was too small for the SQL statement being read.Action: Rerun with a larger buffer. This can also be an indication of a corruption in the import datafile.
      

  2.   

    再把buffer开大点试试
    比如buffer=1000000
      

  3.   

    ========================================================================
    . . 正在导入表                       "GA_TJG"          0行被导入
    . . 正在导入表                       "GA_WDJ"
    IMP-00009: 导出文件异常结束
    IMP-00020: 用于列缓冲区大小 (8) 的长整数列过大
    IMP-00018: 上一个表的部分导入已完成: 已导入 5922 行
    成功终止导入,但出现警告。
    ========================================================================
    我又试验了一下另外一个文件.
    在导入另外一个DMP 文件时,出现的错误,用了recordlength=65535,ignore=y,buffer=5000000,full=y,commit=y还是没有解决问题.
      

  4.   

    IMP-00017: following statement failed with ORACLE error number: 
    Cause: Import failed to execute the statement from the export file because of an Oracle error.
    Action: Look up the accompanying Oracle message in the ORA message chapters of this manual and take appropriate action.
      

  5.   

    你先别急,看看你写入的 .ctl那个文件里的语句是否有误.如字段范围是否超过了数据可用的范围。
      

  6.   

    导出是别人做的,我只是把它导入到数据库,其它十几个都是好好的,就这二个有问题.
    导入命令是:
    imp ntzd/ntzd file=ntzd.dmp recordlength=65535,ignore=y,buffer=5000000,full=y,commit=y
      

  7.   

    还是没有人能够解决吗?我可能已经找到一半的办法解决了,不过很笨的办法,在DMP的二进制文件中直截修改了有可能偏小的字段.0020错就没有报了.但还是有错误:
    ==============================================
    IMP-00009: 导出文件异常结束
    IMP-00018: 上一个表的部分导入已完成: 已导入 5922 行
    成功终止导入,但出现警告。
    ==============================================
    可能最后会丢失一部分数据.唉.所以我判断也有可能是导出的DMP文件已经是被损坏了.
      

  8.   

    你加一个不编译过程、包与函数的参数试试看:
    imp ntzd/ntzd buffer=50000000 full=y ignore=y compile=n file=ntzd.dmp log=ntzdimp.log