ORACLE表被锁原因:EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作
--查询被锁的表
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--杀掉对应进程即解锁
alter system kill session '866,20840' --其中866是sid 20840是serial#
这句SQL中session 后面要有空格,不然会报错:
ORA-02000: missing session keyword.
当使用EBS系统或直接操作Oracle数据库时,如果遇到表假死的情况,可能是因为表被其他用户锁定。要查询被锁表,可以运行特定SQL,找出引发锁定的会话,并通过`ALTER SYSTEM KILL SESSION`命令解除锁定。注意,在KILL SESSION语句中,SID和 SERIAL#之间需要有空格,否则会导致ORA-02000错误。
5061

被折叠的 条评论
为什么被折叠?



