ORA-00031: Sitzung zur Kill-Lösung markiert

ORA-00031: Sitzung zum Beenden markiert

In der Oracle-Datenbank unter Windows liegt eine Situation mit gesperrten Tabellen vor. Fragen Sie die Anweisung für gesperrte Tabellen ab:

select object_name, machine, s.sid, s.serial#
  from gv$locked_object l, dba_objects o, gv$session s
 where l.object_id  = o.object_id
   and l.session_id = s.sid;

Verwenden Sie alter system kill session 'sid, serial#', um die Sitzung zu beenden
. Wenn die Sitzung aktiv ist, markiert alter system kill session nur die Sitzung als beendet und gibt die von der Sitzung gehaltenen Ressourcen nicht frei, also nach der Ausführung von alter system kill Sitzung Überprüfen Sie abschließend, ob die Sitzung noch vorhanden ist, und warten Sie, bis der PMON-Prozess Ressourcen zurückfordert und Sperren freigibt.

--释放SESSION SQL: 
--alter system kill session 'sid, serial#'; 
alter system kill session  '510,24348';

ORA-00031: session marked for kill

Auch das Hinzufügen des unmittelbaren Parameters funktioniert nicht:

SQL> alter system kill session '510,24348' immediate;
alter system kill session '510,24348' immediate

ORA-00031: session marked for kill

Verbesserte Versionsverarbeitung, kann in SQLplus nicht beendet werden, orakill + my_oracle_sid + spid in cmd im Betriebssystem ausführen:

select 'alter system kill session ''' || s.sid || ',' || s.serial# ||
       ''' immediate;' as killsession,
       'orakill my_oracle_sid ' || p.spid || ';' as orakillcmd
  from v$process p, v$session s
 where p.addr = s.paddr
   and s.sid in (select distinct s.sid
                   from gv$locked_object l, dba_objects o, gv$session s
                  where l.object_id  = o.object_id
                    and l.session_id = s.sid)
 order by s.sid;

Führen Sie es im cmd-Fenster des Betriebssystems mehrmals aus:

C:\Users\User>orakill myorclsid 8844;

Kill of thread id 8844; in instance myorclsid successfully signalled.

C:\Users\User>orakill myorclsid 8844;

Kill of thread id 8844; in instance myorclsid successfully signalled.

Endlich ist es möglich, die Sitzung abzubrechen und einen Neustart der Datenbank zu vermeiden.

おすすめ

転載: blog.csdn.net/qq_39065491/article/details/131560039