Oracle Sessions und der steinige Weg ins Nirvana
Manchmal kommt es vor, dass man eine Oracle Session beenden möchte ohne gleich die ganze Datenbank durchstarten zu müssen 😉
Zum Beispiel wenn ein Workprozess im SAP gekillt wird, die aktuell laufende Aktion allerdings innerhalb des Oracles noch weiter ausgeführt wird und damit nicht nur Ressourcen bindet, sondern ggf. auch Locks auf Objekte hält.
Zunächst muss man die Sessions, die man beenden möchte identifizieren. Zum Beenden der Session braucht man die Session ID (sid) sowie die Seriennummer der Aktion innerhalb der SID (serial#). Diese bekommt man recht einfach über den View v$session. Meist dürfte die Session ID bereits über die SAP Transaktion DB02 bekannt sein, so dass hier lediglich die entsprechende Serial zu der Session ID gefunden werden muss. Da macht es natürlich Sinn die Abfrage entsprechend auf eine sid einzugrenzen. In einer RAC Umgebung müsste man übrigens auch noch die Instanz ID (inst_id) des entsprechenden Nodes mitgeben. Da SAP-Systeme eher selten auf RAC Umgebungen betrieben werden gehe ich nicht weiter darauf ein.
Das könnte etwa so aussehen:
[Read more…]