Oracle更新语句变为非活动状态 - 陈旧会话问题

时间:2014-03-31 22:01:37

标签: sql performance oracle session

我在生产中面临一个问题,即在更新步骤中没有完成etl作业。当我查看sql时,更新的行数为0。

我使用相同的代码库并在另一个prod镜像实例中运行该作业,该作业在预期的SLA中完成。表上没有陈旧状态或目标表上的索引统计信息。

当我查看V $会话行时,我发现sql会话已变为非活动状态。我已经杀死了会话,并且会话不再出现在v $ session视图中,当我重新启动作业时,它再次进入该陈旧状态。有关如何解决此问题的任何想法。

谢谢!

1 个答案:

答案 0 :(得分:0)

INACTIVE意味着会话没有做任何事情..

你应该探索等待事件...... 如果等待事件正在等待网络 - 这意味着在你的ETL代码中有一个但如果不是 - 等待事件会告诉你什么是错的。

你可以通过V $ SESSION在版本10及更高版本中轻松实现它,只需按照列(并检查它是否被另一个会话阻止,另一个常见原因导致卡住了...... - 阻塞会话)

如果您需要更多帮助 - 请在此处填写V $ SESSION的完整记录,以及阻止会话的所有层次结构,如果存在...