Problém 1:
Jak odstranit připojeni z databáze, které v ní zůstává, přestože jsme dané připojení již zrušili (KILL) pomocí příkazu ALTER SESSION KILL.
Status u daného připojení je KILLED, ale dané připojení stále spotřebovává zdroje a proto je potřeba ho odstranit z operačního systému.
Řešení:
1. Dohledání problematického dotazu
SQL> SET LINESIZE 100
COLUMN spid FORMAT A10
COLUMN username FORMAT A10
COLUMN program FORMAT A45

SELECT s.inst_id,
s.sid,
s.serial#,
p.spid,
s.username,
s.program
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id
WHERE s.type != ‚BACKGROUND‘ and sid=287;
INST_ID SID SERIAL# SPID USERNAME PROGRAM
———- ———- ———- ———- ———- ———————————————
1 287 25938 18146 VPTS SQL Developer

SQL> select username, status from v$session where status=’KILLED’;
USERNAME STATUS
———- ——–
VPTS KILLED

2. Odstranění daného procesu z operačního systému.

oracle@vserver1:~> ps -ef | grep 18146
oracle 18146 1 95 Mar15 ? 21:31:08 oracleprod (LOCAL=NO)
oracle 18418 14337 0 07:54 pts/0 00:00:00 grep 18146

oracle@vserver1:~>kill -9 18146



Komentáře