Ich versuche, einen Benutzer aus einer Oracle DB (Version 12c) zu löschen, aber es kann nicht funktionieren. Der Fehler Ich erhalte ist:Konnte nicht trennen oracle Benutzer
ORA-01940: cannot drop a user that is currently connected
Natürlich schaute ich mich um, und fand heraus, wie gewaltsam trennen und eine Sitzung töten. So habe ich die Abfrage:
select s.sid, s.serial#, status, s.username
from v$session s
where username = 'user_i_want_to_drop';
und tötete dann die einzige aktive Sitzung mithilfe
alter system kill session '<sid>,<serial#>' IMMEDIATE;
natürlich die Werte aus der Abfrage verwenden.
Wenn ich die Abfrage erneut ausführen, wird es wie erwartet leer angezeigt. Jedoch kann ich den Benutzer immer noch nicht löschen und die gleiche Fehlermeldung erhalten.
Ich habe festgestellt, dass, wenn ich auf gv$session
abfrage, zwei Sitzungen für diesen Benutzer angezeigt werden. Ich kann jedoch nicht diejenigen töten, die die alter system kill session
Anweisung verwenden, die ich oben verwendete.
Was fehlt mir hier?
Thank du, das wars! – padrino