Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sql naredba za prekid svih session_a

[es] :: Oracle :: sql naredba za prekid svih session_a

[ Pregleda: 3434 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

owner

Član broj: 46128
Poruke: 109
*.customer.m-online.net.



Profil

icon sql naredba za prekid svih session_a04.10.2005. u 16:54 - pre 224 meseci
Zna li neko sql,plsql ili u kojem se paketu nalazi naredba s kojom mogu prekinuti sve session_e,odnosno prikacene usere.
Da nebi npr.kroz oem isao i prekidao jednog po jednog dali postoji sql kod s kojim to mogu odraditi za sve.
Vrtio sam po dokumentaciji,pregledavao sistemske pakete npr.dba_session ali nisam uspeo naci.

 
Odgovor na temu

Raspucin

Moderator
Član broj: 20699
Poruke: 216
*.beotel.net.

ICQ: 244452581


+3 Profil

icon Re: sql naredba za prekid svih session_a04.10.2005. u 17:52 - pre 224 meseci
Citat:
owner: Zna li neko sql,plsql ili u kojem se paketu nalazi naredba s kojom mogu prekinuti sve session_e,odnosno prikacene usere.


Tako nesto za sada jos ne postoji. Mozes da uradis sledece:

Code:

PLS@Raspucin>select sid, serial#, username, username from v$session;

       SID    SERIAL# USERNAME                       USERNAME
---------- ---------- ------------------------------ ------------------------------
         1          1
         2          1
         3          1
         4          3
         5          1
         6          1
         7      38761
         8      38757
         9      38757
        10      38757
        11      15885 LJILJA                         LJILJA
        12      44777 LJILJA                         LJILJA
        14       4982 LJILJA                         LJILJA
        15      50326 LJILJA                         LJILJA
        17      54787 LJILJA                         LJILJA

15 rows selected.


sesije ubijas na ovaj nacin:

ALTER SYSTEM KILL SESSION 'SID,SERIAL#';

E dalje se sam snadji, napisi neku PL/SQL proceduru, koja ce dinamicki da izvrsava ovu naredbu, samo pazi koje procese ubijas. Procesi bez username-a su sistemski, pa lako mozes i bazu da ubijes.... Jer sam Bog zna kako ce baza da se ponasa kada je osakatis tako sto joj ubijes sesije nekim nasumicnim redosledom.

Code:


begin    
   for i in (select sid,serial# from v$session where username is not null) loop   
        execute immediate 'alter system kill session ' ||''''|| i.sid ||','|| i.serial# ||''' immediate';
   end loop;
end;



Obicno se praktikuje da se korisnicima cija aplikacija koristi bazu urade nesto pa im se onda saopsti da im je sesija ubijena nego da se radi ovako. Kada korisnici dobiju poruku

ORA-00028: your session has been killed

to obicno vide kao bug....


[Ovu poruku je menjao Raspucin dana 04.10.2005. u 19:01 GMT+1]

[Ovu poruku je menjao Raspucin dana 04.10.2005. u 19:02 GMT+1]
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.infonova.at.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: sql naredba za prekid svih session_a04.10.2005. u 18:32 - pre 224 meseci
Mozda je bolje da umjesto KILL SESSION koristi DISCONNECT SESSION...
Npr.
Code:
ALTER SYSTEM DISCONNECT SESSION '13, 8' POST_TRANSACTION;

Tako ce session biti killnut tek nakon sto se zavrsi trenutna transakcija.

Takodje, ako ne zeli da mu se useri opet spajaju, moze da prvo otkuca:
Code:
ALTER SYSTEM ENABLE RESTRICTED SESSION
, pa tek onda da pobije sessione i na kraju opet da kuca
Code:
ALTER SYSTEM DISABLE RESTRICTED SESSION

Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

owner

Član broj: 46128
Poruke: 109
*.customer.m-online.net.



Profil

icon Re: sql naredba za prekid svih session_a05.10.2005. u 09:05 - pre 224 meseci
Hvala momci na odgovorima:),
to bi bilo to.
 
Odgovor na temu

[es] :: Oracle :: sql naredba za prekid svih session_a

[ Pregleda: 3434 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.