【问题标题】:sqlplus hangs after being called from a batch file, without throwing up error message从批处理文件调用sqlplus后挂起,没有抛出错误消息
【发布时间】:2017-12-04 14:34:27
【问题描述】:

基本上,在我工作的地方,我们会运行各种遵循相同基本结构的报告流程...

批处理文件调用执行存储过程的 sql 脚本。另一个脚本从 Oracle 中提取数据并写入 csv。最后,运行一个 excel 宏来创建最终输出。

我们最近遇到了一个问题,如果该过程运行时间大约超过一个小时,它将无限期挂起,而不会移动到批处理文件的下一行。没有错误信息被抛出。

最令人沮丧的部分是某些程序有时会出现问题,然后第二天就没有了。

还有其他人遇到过这个问题吗?或者知道是什么导致了这个问题?我觉得这可能与连接/防火墙有关,但这确实不是我的专业领域!

【问题讨论】:

  • 这听起来像是性能调整问题。

标签: sql oracle oracle11g connection sqlplus


【解决方案1】:

您应该检测批处理文件并使用扩展的 SQL 跟踪来揭示您的所有时间都花在了哪里。没有什么可以逃脱适当的仪器。你会找到问题的根源。你对它的处理取决于特定的问题(即反模式)。

【讨论】:

  • 感谢您的建议。我将对此进行阅读并测试几个问题过程。
【解决方案2】:

我经常看到这样的问题。我通过检查 gV$session 来连接数据库并查看正在运行的内容。关键是确定脚本正在运行什么SQL,然后看看是否有任何原因让它“挂起”(有很多可能的原因)。例如,缺少索引;缺少或不是最新的统计数据;实例上的工作负载;阻塞锁; ... 如果您有 SQL Tuning Advisor,则可以通过那里运行 SQL 以获得一些解决方案的想法。此外,ADDM 报告可能会提供一些额外的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多