Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso matar todas as sessões conectadas ao meu banco de dados Oracle?


Esta resposta é fortemente influenciada por uma conversa aqui:http://www.tek-tips.com/viewthread.cfm?qid=1395151&page=3
ALTER SYSTEM ENABLE RESTRICTED SESSION;

begin     
    for x in (  
            select Sid, Serial#, machine, program  
            from v$session  
            where  
                machine <> 'MyDatabaseServerName'  
        ) loop  
        execute immediate 'Alter System Kill Session '''|| x.Sid  
                     || ',' || x.Serial# || ''' IMMEDIATE';  
    end loop;  
end;

Eu pulo as sessões de eliminação originadas no servidor de banco de dados para evitar eliminar as conexões do Oracle consigo mesmo.