我做了一个数据库程序,有8个线程,其中有4个线程是把比较大的文本文件发送到oracle服务器,由服务器sqlload去加载到相应的表中,平均一天各加载一次,每个文本文件数据量20万左右,还有4个线程处理比较小的文本文件(1000以内),读出数据然后拼成sql语句去更新相应的表。可能出现这种情况正在sqlload A表时,我正在更新A表,不知会不会有影响。程序运行一两天后突然与数据库断开连接,连本机的oracle客户端也段开,就是这样

解决方案 »

  1.   

    对于插入的,要经常提交,
    SQLLOAD也加上自动提交选项。
    临时表空间够用吗?
    回滚段够用吗?
    再试试。另外,用户配置文件是否对连接时间做了限制?如果问题解决了,把解决过程贴在论坛上。
    ----------------------------------------------------------------
    原贴内容:
    我做了一个数据库程序,有8个线程,其中有4个线程是把比较大的文本文件发送到oracle服务器,由服务器sqlload去加载到相应的表中,平均一天各加载一次,每个文本文件数据量20万左右,还有4个线程处理比较小的文本文件(1000以内),读出数据然后拼成sql语句去更新相应的表。可能出现这种情况正在sqlload A表时,我正在更新A表,不知会不会有影响。程序运行一两天后突然与数据库断开连接,连本机的oracle客户端也段开,就是这样
      

  2.   

    我是用VC+ADO做的,我看ADO帮助上在增删改时,直接执行增删改的Sql语句,并不执行commit语句。
    pConnection->Execute(strSql, NULL, adExecuteNoRecords);
    临时表空间够用
    回滚段够用
    用户连接时间为unlimit
    怎么查看当前事务的多少
      

  3.   

    客户端所有连接(包括oracle客户端,我的程序Ado)与服务器断开
    断开前服务端sqlloader已经执行完毕。