본문 바로가기

빅데이터과정/WORKSHOP 1

#21_140711_WSHOP_LOCK충돌

728x90

# LOCK 충돌


































  • 접속된 세션의 정보를 확인하고 오라클에서 kill 수행



SELECT sid, serial#, username
FROM v$session
WHERE sid IN (SELECT blocking_session FROM v$session);

SID      SERIAL# USERNAME
---------- ---------- ------------------------------
 34         37   SCOTT



alter system kill session '34,37' immediate;


락이 걸린 해당 세션을 kill 시키고 락이 풀리는 것을 확인할 수 있다




  •  접속된 세션의 정보를 확인하고 OS에서 kill 수행



spid : 해당 세션의 OS의 프로세서 ID
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';

INST_ID        SID    SERIAL# SPID       USERNAME   PROGRAM
---------- ---------- ---------- ---------- ---------- ---------------------------------------------
         1          1          5 7284       SYS        sqlplus@edydr1p0.us.oracle.com (TNS V1-V3)
         1         25         28 9009       SCOTT      OrangeMain.exe
         1         32         80 9080       SCOTT      sqlplus@edydr1p0.us.oracle.com (TNS V1-V3)
         1         28         63 7904       SCOTT      sqlplus.exe
         1         33         47 9310       SCOTT      SQLGateMain.exe
         1         35         61 9312       SCOTT      SQLGateMain.exe


해당 SPID의 동작을 확인할 수 있다
[orcl:~]$ top -p 9080
 
top - 11:22:42 up 1 day,  5:51,  4 users,  load average: 0.21, 0.09, 0.02
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  4.1%sy,  0.0%ni, 95.3%id,  0.0%wa,  0.6%hi,  0.0%si,  0.0%st
Mem:   1035140k total,   942044k used,    93096k free,    37504k buffers
Swap:  4128760k total,       60k used,  4128700k free,   657980k cached
 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 9080 oracle    18   0  556m  24m  22m S  0.0  2.4   0:00.05 oracle

OS에서 kill 시키는 명령어
[orcl:~]$ kill -9 9080
: -9 는 강제로 종료시키겠다는 의미다

kill 시킨 후 쿼리를 날리면 동작을 않하는 것을 확인할 수 있다
SQL> select * from emp;
select * from emp
*
ERROR at line 1:
ORA-03135: connection lost contact
Process ID: 9080
Session ID: 32 Serial number: 80


ERROR:
ORA-03114: not connected to ORACLE


'빅데이터과정 > WORKSHOP 1 ' 카테고리의 다른 글

#21_140711_WSHOP_UNDO DATA  (0) 2014.07.15
#21_140711_WSHOP_ DEAD LOCK  (0) 2014.07.15
#21_140711_WSHOP_임시테이블  (0) 2014.07.15
#20_140710_WSHOP_유저관리  (0) 2014.07.15
#20_140710_WSHOP_네트워크 구성  (0) 2014.07.15