Ich habe ALTER TABLE DISABLE TABLE LOCK
auf einer unserer Tabellen und jetzt kann ich nicht sperren Tabellen sperren. Wenn ich auf dieser Tabelle bin Ausführung:Oracle - ALTER TABLE ENABLE TABLE LOCK
ALTER TABLE x ENABLE TABLE LOCK;
Ich erhalte:
SQL Error: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
Ich habe, dass es eine blockierende Sitzung von anderen Benutzern war, aber er seine Sitzung getötet und jetzt noch kann ich‘ t Aktivieren Sie die Tabellensperre. Es gibt eine neue Sperrsitzung, die wie eine Systemsitzung aussieht (OSUSER = SYSTEM, PROGRAM = ORACLE.EXE (DIA0), TYPE = BACKGROUND).
Könnten Sie mir bitte mit diesem Enable Table Lock helfen?
Edit: Nach dem Neustart der Datenbank konnten wir die Tabellensperre aktivieren.
Das ist ein Diagnoseprozess: https://docs.oracle.com/cloud/latest/db112/REFRN/bgprocesses.htm#REFRN104 –
Andere Benutzer Sitzung getötet, aber wenn die Sitzung aktualisiert wurde oder Rollback einfügen wird durchgeführt. – Kacper
Versuchen Sie 'ALTER SESSION SET DDL_LOCK_TIMEOUT = 600;', bevor Sie versuchen, die Tabelle zu sperren. Oracle wird bis zu 10 Minuten warten, bis Sie diesen Fehler erhalten, wo andere Sitzungen ihre Jobs beenden können. –