现在要往表里 插入 40万 分两次 插入一次插入20万 ,就是写两个for i =1 to 200000循环 循环里是insert语句,现在问题是插入前20万后 commit 一起顺利 但是在插入大量数据的时候 数据库就弹出报错的dos 窗口,然后自动停止 ,来回测了几次也是这样 总的感觉就是 当第一次向数据库插入大量数据后 ,在试图插入大量数据的时候 数据库就是 停止工作 ,谁能解释一下这是什么问题呢? 我的机器是dell2800服务器 2g cpu 2g内存

解决方案 »

  1.   

    表空间应该没问题 现在测试的结果就是 一次commit 之后 如果紧跟着在有大量数据 的commit 数据库就会停止
      

  2.   

    不知道怎么能把错误图片发到网上 
    大概的报错是(在dos窗口里显示如下信息):
    wrning - the following error occured during oracle redo log archival:  ??
    can not allocate log,archival required 
        press<enter> to acknowledge message
      

  3.   

    看着你得出错信息,大概是redo log的问题,而你得数据库应该运行在archieve模式下,你得数据库archieve是什么模式阿?
      

  4.   

    楼主能不能在非dos窗口下测试,而是执行单纯sql语句。例如sqlplus或者plsql,看看异常时的错误号码
      

  5.   

    像redo log 空间问题,检察redo log空间是否足够
      

  6.   

    redo log空间是什么东西?在哪里设置?
      

  7.   

    redo log 重做日志文件,是Oracle 运行必需的文件,Oracle 恢复就是利用这个文件的信息来做的。在插入大量数据,要产生大量的日志信息,如果日志文件过小,就会出错。
      

  8.   

    很明显是你的数据库的redo log出问题了。估计是你的数据库处于归档模式,插入数据太大了,redo log的空间不够了。
      

  9.   

    应该是你的redo log(重做日志文件)出了问题啦!你的数据库处于归档模式。