【问题背景】
今天在使用PL SQL 操作Oracle数据库,想手动删除之前添加的一些假数据。但是发现无论是执行delete语句删除还是右键选中删除,下次再查的时候这些数据竟然还存在数据库表中。究其原因:数据库表被锁定了,无法执行删除操作。ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作
【解决方案】
方法一:释放用户操作session
1)新建一个SQL命令,执行如下代码:
SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;
2)找到被锁定的表,进行解锁。代码如下:
--释放SESSION SQL: --alter system kill session 'sid, serial#'; ALTER system kill session '23, 1647';
方法二:如果方法一无法执行,很大部分原因是你没有更高的权限去执行这些操作,这个时候需要联系系统管理员。
【知识积累】使用Oracl数据库删除表数据提示用户被锁定
最新推荐文章于 2024-07-07 23:27:24 发布