Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 删除Oracle 10中的锁_Sql_Oracle_Sqlplus - Fatal编程技术网

Sql 删除Oracle 10中的锁

Sql 删除Oracle 10中的锁,sql,oracle,sqlplus,Sql,Oracle,Sqlplus,我在尝试更新sqlplus中的列值时遇到问题 它基本上不会完成,只是挂起。我想知道是否有任何方法可以强制移除oracle中的锁 我注意到一个名为v$locked_object的表,它确实包含一个与我遇到的问题相关的onject ID 希望我解释得足够好 提前感谢您的帮助 可能是其他人更新了相同的表,但尚未提交。它甚至可能是你(在不同的工具或不同的会话中) 解除锁定的最简单方法是在另一个会话中提交工作。成功解决了此问题 我查看了DBA_BLOCKERS表并获得了会话ID。然后终止了会话并移除了锁。

我在尝试更新sqlplus中的列值时遇到问题

它基本上不会完成,只是挂起。我想知道是否有任何方法可以强制移除oracle中的锁

我注意到一个名为v$locked_object的表,它确实包含一个与我遇到的问题相关的onject ID

希望我解释得足够好


提前感谢您的帮助

可能是其他人更新了相同的表,但尚未提交。它甚至可能是你(在不同的工具或不同的会话中)


解除锁定的最简单方法是在另一个会话中提交工作。

成功解决了此问题


我查看了DBA_BLOCKERS表并获得了会话ID。然后终止了会话并移除了锁。

这将完全满足您的目的:

SELECT SESSION_ID FROM DBA_DML_LOCKS WHERE NAME = <TABLE_NAME>;
找到有问题的元组
SID,SERIAL 35;
并按如下方式释放它:

ALTER SYSTEM KILL SESSION 'SID, SERIAL#';

您是否找到了锁定对象的进程以及该进程正在执行的操作?解决问题肯定比绕开它好?(我相当肯定你的问题的答案是否定的)。嗨,我通过查找DBA_拦截器找到了这个问题的原因。获取会话ID并将其终止。在检查dba_阻止程序后,我在应用程序中找到了保持会话,从而解决了此问题。但我会记住未来的ALTER命令。由于众议员ThanksHi Mari支持率低,无法对答案进行投票。谢谢您的这些命令。我能够释放数据库中锁定的表。谢谢你,伙计!
ALTER SYSTEM KILL SESSION 'SID, SERIAL#';