Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich alle Sitzungen beenden, die mit meiner Oracle-Datenbank verbunden sind?

Diese Antwort wird stark von einem Gespräch hier beeinflusst: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;

Ich überspringe das Beenden von Sitzungen, die vom Datenbankserver stammen, um zu vermeiden, dass Oracles Verbindungen zu sich selbst beendet werden.