【知识积累】使用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'; 


方法二:如果方法一无法执行,很大部分原因是你没有更高的权限去执行这些操作,这个时候需要联系系统管理员。



      

posted @ 2016-06-05 16:48  幻想泡沫  阅读(195)  评论(0编辑  收藏  举报