poniedziałek, 2 lipca 2012

Rozłączanie sesji


Rozłączanie sesji użytkowników

Jako administrator mamy możliwość rozłączenia użytkownika na kilka sposobów. Jedne są bardziej „grzeczne”,
Inne trochę mniej:

Aby rozłączyć użytkownika potrzebujemy 2 wartości, które uzyskamy wywołując polecenie:

SELECT SID,SERIAL# FROM v$session WHERE USERNAME='nazwa_uzytkownika';




Znając te wartości jesteśmy w stanie rozłączyć użytkownika. Oto różne sposoby:


ALTER SYSTEM KILL SESSION 'sid,serial#';

w naszym przypadku w miejsce sid i serial# wprowadzamy wartości 37 oraz 14. Spowoduje natychmiastowe rozłączenie sesji użytkownika wyświetlając mu informację, że jego sesja została przerwana przez administratora („your session has been killed”). Wszystkie wprowadzone przez niego, niezapisane działania, których nie zatwierdził, zostaną automatycznie cofnięte (ROLLBACK).


ALTER SYSTEM DISCONNECT SESSION '37,14' IMMEDIATE; - spowoduje rozłączenie sesji użytkownika. Przy próbie wykonania działania wyświetlony zostanie monit o utraceniu połączenia z bazą. Wszystkie niewprowadzone zmiany zostają automatycznie cofnięte (ROLLBACK).



ALTER SYSTEM DISCONNECT '37,14' POST_TRANSACTION; - spowoduje rozłączenie użytkownika po zatwierdzeniu przez niego zmian (COMMIT) lub cofnięciu ich (ROLLBACK). Jeśli użytkownik nie ma żadnych niezatwierdzonych działań w transakcji (np. wykonywał tylko SELECTy) jego sesja zostanie natychmiast zerwana.






Brak komentarzy:

Prześlij komentarz