2017-03-06 1 views
0

Ich kann meine Tabelle nicht löschen oder abschneiden. Ich bin jedoch erfolgreich in der Lage, die Reihen von der Tabelle zu löschen.Nicht in der Lage, die Tabelle in Oracle zu löschen oder zu trimmen

Immer wenn ich versuche, meine Sitzung zu löschen oder abzuschneiden, geh in gehangenen Zustand und ich muss die Sitzung manuell beenden.

FYI. Es gibt auch einen Trigger, der vor dem Löschen mit meiner Tabelle verknüpft ist. Ich kann diesen Trigger auch nicht deaktivieren.

In der Hoffnung, meine Frage ist klar. Bitte schlagen Sie auch vor, wenn einige mehr Informationen ich zur Verfügung stellen muss.

Danke für Ihre Zeit.

+0

Überprüfen Sie für Ihre Erlaubnis .. (gewähren) – scaisEdge

+1

Vielleicht ist es von einem anderen Benutzer gesperrt? Sie benötigen exklusiven Zugriff auf die Tabelle zum Abschneiden, Löschen usw. –

+0

@scaisEdge Ich habe überprüft, es gibt keine Frage der Berechtigungen. Wenn es ein Problem der Erlaubnis gibt, werde ich den Fehler bezüglich der Bewilligungen bekommen, nicht meine Sitzung wird hängen. Danke für Ihren Vorschlag. – Tajinder

Antwort

0

Ich habe nicht vollständige Informationen über, was los ist, aber starten, indem Sie diese Abfrage in der Sitzung ausgeführt wird, wenn es Ihnen dann zur Folge geben gibt es eine Sperre

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 

versuchen, die Sperre zu lösen und verstehen ow das Schloss ist passiert vielleicht der Trigger ist etwas auszuführen, ohne zu verpflichten?

Beachten Sie, dass Sie die obige Abfrage ausführen sollten, wenn Sie versuchen, die Tabelle abzuschneiden.

+0

Danke für Ihre Antwort. Ich habe Ihre Abfrage nach dem Abschneiden Befehl ausgeführt. Ja, ich bekomme eine Zeile mit meinem Tabellennamen. Bitte schlage vor, was jetzt zu tun ist. – Tajinder

+0

@Tajinder Ich bearbeite meine Antwort und ich Session-ID hinzugefügt, die Abfrage wird Ihnen sagen, wer die Tabelle sperrt, was ist der OS_USERNAME? Dies wird Ihnen sagen, derjenige, der den Tisch gesperrt, dann versuchen Sie wissen, was er ausgeführt hat, wenn er macht und DML ändert (aktualisieren, einfügen, löschen) ohne commit, dann ist das, warum Sie eine Sperre haben. Führen Sie einen Commit in seiner Sitzung und es wird die Sperre freigeben – Moudiz

+0

Lock ich bin, ist aufgrund meines Befehls truncate. Können Sie mir bitte erklären, warum ich die Zeilen erfolgreich aus der Tabelle löschen kann, die Tabelle aber nicht abschneiden kann. Vielen Dank für Ihre Zeit. – Tajinder

Verwandte Themen