我在生产中面临一个问题,即在更新步骤中没有完成etl作业。当我查看sql时,更新的行数为0。
我使用相同的代码库并在另一个prod镜像实例中运行该作业,该作业在预期的SLA中完成。表上没有陈旧状态或目标表上的索引统计信息。
当我查看V $会话行时,我发现sql会话已变为非活动状态。我已经杀死了会话,并且会话不再出现在v $ session视图中,当我重新启动作业时,它再次进入该陈旧状态。有关如何解决此问题的任何想法。
谢谢!
答案 0 :(得分:0)
INACTIVE意味着会话没有做任何事情..
你应该探索等待事件...... 如果等待事件正在等待网络 - 这意味着在你的ETL代码中有一个但如果不是 - 等待事件会告诉你什么是错的。
你可以通过V $ SESSION在版本10及更高版本中轻松实现它,只需按照列(并检查它是否被另一个会话阻止,另一个常见原因导致卡住了...... - 阻塞会话)
如果您需要更多帮助 - 请在此处填写V $ SESSION的完整记录,以及阻止会话的所有层次结构,如果存在...