2017-03-06 58 views
0

我无法删除或截断我的表格。但是,我成功地能够从表中删除行。无法删除或截断oracle中的表格

每当我尝试删除或截断我的会话进入挂起状态,我不得不手动杀死会话。

仅供参考。删除前还有一个与我的表相关的触发器。我也无法禁用该触发器。

希望,我的问题很清楚。如果需要提供更多信息,也请提出建议。

谢谢你的时间。

+0

检查您的权限..(授权) – scaisEdge

+1

也许它被另一个用户锁定了?你需要独占访问表的截断,拖放等。 –

+0

@scaisEdge我检查了没有权限的问题。如果有权限问题,那么我会得到关于赠款的错误,而不是我的会话将挂起。感谢您的建议。 – Tajinder

回答

0

我没有上怎么回事,但在你的会话中运行该查询开始,如果它给你的结果,那么有一个锁

SELECT a.SESSION_ID, B.Owner, B.Object_Name, A.Oracle_Username, A.OS_User_Name 
FROM V$Locked_Object A, All_Objects B 
WHERE A.Object_ID = B.Object_ID 

尝试解除锁定,了解流动锁完整信息发生了也许触发器正在执行的东西没有提交?

请注意,当您尝试截断表时,应该运行上述查询。

+0

感谢您的回答。我在运行truncate命令后尝试了您的查询。是的,我得到了我的表名。请建议现在要做什么。 – Tajinder

+0

@Tajinder我编辑我的答案,我添加了会话ID,查询会告诉你谁锁定了表,什么是OS_USERNAME?这会告诉你锁定表的人,然后尝试知道他在执行什么,如果他正在创建,DML更改(更新,插入,删除)而没有提交,那就是为什么你有一个锁。在他的会话中运行提交,它将释放锁 – Moudiz

+0

我得到的锁是由于我的截断命令。你能解释为什么我能成功地删除表中的行,但不能截断表。谢谢你的时间。 – Tajinder