本文主要是介绍【知识积累】使用Oracl数据库删除表数据提示用户被锁定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【问题背景】
今天在使用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数据库删除表数据提示用户被锁定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!