避免挂起会话和表锁Oracle

时间:2016-04-27 06:08:24

标签: oracle plsql sqlplus

我经常在Oracle中挂起会话(锁定表)。

没有DBA权限,有没有办法删除这些会话或解锁表?

我能做些什么来完全避免这个问题? (例如,SQL * PLUS中的某些超时设置)。

这主要是从bash脚本启动的SQL。

1 个答案:

答案 0 :(得分:1)

您可以要求您的DBA将权力委派给您,但如果您不是DBA,则无法解决这些问题。虽然如果它们是bash脚本,你可以杀掉-9它们,假设你可以找出哪些PID需要切换。

当然,挂起会话通常是系统设计不佳或编程习惯不良的结果。因此,如果你经常得到它们,你应该考虑修复你的应用程序。

如果不了解您的应用程序以及究竟是什么原因造成这些问题,我们无法提供具体的建议,但这里有一些建议。在架构级别,可能的解决方案是更聪明的作业管理,例如调度或队列。更好的编程实践可能包括悲观锁定(select ... for update)和事务管理。