为 oracle 查询设置时间限制
如果 Oracle 查询的执行时间超过 10 秒,我需要中断它,并向用户发送一条消息,通知他执行超时。 我用谷歌搜索了很多,但没有找到任何有用的东西。 有什么办法可以设置 oci_execute 的时间限制
I need to interrupt the execution of an oracle query if it is taking more than 10 seconds, and give user a message informing him about execution timeout.
I googled a lot but i didn't find anything useful.
Is there any way to set a time limit to oci_execute
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以使用配置文件,但有点粗糙。更好的解决方案是使用 Oracle Resource Manager。设置资源管理器计划,分配资源使用者组,决定如何将会话分配给资源使用者组,然后就可以开始了。
您甚至可以让它在估计运行时间超过允许的运行时间时拒绝启动查询。
另请检查 http://ronr.blogspot.com/2009 /06/howto-configure-resource-manager-using.html
A profile can be used but is a little harsh. A better solution is to use Oracle Resource Manager. Setup a resource manager plan, assign resource consumer groups, decide how a session gets assigned to a resource consumer group and off you go.
You can even make it refuse to start a query when the estimated runtime exceeds the allowed runtime.
Also check http://ronr.blogspot.com/2009/06/howto-configure-resource-manager-using.html
也许 Oracle 配置文件对您的情况有用:
http://www.adp-gmbh.ch/ora/concepts/profile.html
Maybe Oracle profiles are useful in your case:
http://www.adp-gmbh.ch/ora/concepts/profile.html