2017-03-06 50 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