1. Lock
- ๋ณ๊ฒฝ ์์
๋ฐ์์ DBMS๋ ๊ด๋ จ ํ ๋จ์๋ก Lock์ ๊ตฌํํ๊ณ ์์
์ ์งํํจ.
- Lock ํธ๋์ญ์
์งํ ์ค์๋ ์ ์ง๋๊ณ , ํธ๋์ญ์
์ข
๋ฃ ์ ํด์ ๋จ.
- Lock์ด ๊ตฌํ๋ ๊ณณ์ ์์
์ด ์์ฒญ๋๋ ๊ฒฝ์ฐ ํ๋ผ๊ณ ํ๋ ๋๊ธฐ๊ณต๊ฐ์์ ๊ธฐ๋ค๋ฆผ
2. Lock ์ถฉ๋
- Waiting์ด ๊ธธ์ด์ง๋ ๊ฒฝ์ฐ Lock ์ถฉ๋๋ก ๊ฐ์งํ๊ณ ํด๊ฒฐ๋์ผํจ.
3. Lock ์ถฉ๋์ ์์ธ
- ํธ๋์ญ์
์ ๊ธธ๊ฒ ์งํํ๋ ๊ฒฝ์ฐ
- ์ปค๋ฐ๋์ง ์์ ์์
์ด ๋จ์์๋ ๊ฒฝ์ฐ
4. Lock ์ถฉ๋ ๊ฐ์ง ๋ฐฉ๋ฒ(๋ชจ๋ํฐ๋ง ๋ฐฉ๋ฒ)
- v$session : DB์ ์ ์๋ ์ธ์
์ ๋ณด์ Lock ์ถฉ๋ ์ ๋ณด๋ฅผ ๋ชจ๋ํฐ์ผํ ์ ์๋ DB์ธ์
SQL> select username, sid, serial#, blocking_session
ย ย ย ย ย ย ย ย from v$session
ย ย ย ย ย ย ย ย where username is not null;
5. Session Kill ์ํค๊ธฐ => DBA๊ถํ ํ์(sys์ฌ์ฉ์)
SQL> alter systeml kill session 'SID, Serial#' immediate;
6. Lock ์ถฉ๋์ ํน์ด ์ผ์ด์ค : Deadlock(๊ต์ฐฉ์ํ)
- ๋ ์ธ์
์ด ๊ฐ์์ ์์์ ์ ์ ํ ์ํ์์ ์๋๋ฐฉ์ ์์์ ์๋ก ์์ฒญํ๋ ๊ฒฝ์ฐ
- Deadlock์ ํน์ํ ๊ฒฝ์ฐ์ด๋ฏ๋ก DBMS์ ์ํด์ ์๋ ๊ฐ์ง๋๊ณ ํด๊ฒฐ๋จ.
- ํ์ชฝ ์ธ์
์ผ๋ก Deadlock ์ค๋ฅ ๋ฉ์ธ์ง๊ฐ ์๋์ผ๋ก ๋ฐ์๋๋ฉด์ ํด๊ฒฐ๋จ.