【问题标题】:utl_file.FCLOSE() is slow with large filesutl_file.FCLOSE() 处理大文件时速度很慢
【发布时间】:2010-05-10 18:41:53
【问题描述】:

我们在 Oracle 10g 中使用 utl_file 将 blob 从表行复制到文件系统上的文件中,当我们调用 utl_file.fclose() 时需要很长时间。这是一个 10mb 的文件,不是很大,只需要一分钟多的时间就可以完成。有谁知道为什么会这么慢?

谢谢

编辑 看起来这与我们的文件系统有关。当我们写入本地驱动器时,它工作正常。

【问题讨论】:

    标签: oracle plsql oracle10g


    【解决方案1】:

    我们已经确定是我们的网络文件系统挂载导致了问题。当我们从问题中删除它并将文件存储到本地驱动器时,它工作正常。我们能够在具有相同配置的另一个环境中对其进行测试,它速度快且按预期工作。

    现在我们需要让我们的网络人员参与进来,看看为什么在这种环境下在 NFS 上传输数据如此缓慢。

    编辑 它是 oracle 服务器和 UNIX 服务器之间的网络速度。它被设置为每秒半双工 10Mb。所以我们将它提高到全双工 100Mb,现在它工作得很好!

    【讨论】:

      【解决方案2】:

      在那之前你有没有做fflush?如果不是,那么 fclose 正在为您执行 fflush,这可能是时间所在。通过在关闭之前发出 fflush 来检查它。

      【讨论】:

        猜你喜欢
        • 2015-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-28
        • 1970-01-01
        • 1970-01-01
        • 2020-04-29
        • 1970-01-01
        相关资源
        最近更新 更多