2장._트랜잭션과_Lock
2012.03.17 00:23
02 트랜잭션과 Lock 01 트랜잭션 동시성 제어 02 트랜잭션 수준 읽기 일관성 03 비관적 vs. 낙관적 동시성 제어 04 동시성 구현 사례 05
오라클 Lock
읽기 일관성 구현 방법 -
DB2, SQL Server, Sybase : Lock을 통해 읽기 일관성을
구현 -
오라클 : Undo 데이터를 이용해 읽기 일관성을 구현 오라클은 데이터를 읽을 때 Lock을 사용하지 않다 보니 확실히
동시성 측면에서는 다른 DBMS보다 우월하다고 평가할 수 있다. 오라클은 10g부터 Wait
Event를 아래와 같이 분류해 놓았다. SQL> select wait_class, count(*) from v$event_name group by wait_class order by 1; WAIT_CLASS
COUNT(*) ----------------------------------------------------------------
--------- Administrative
46 Application
12 Cluster 48 Commit
1 Concurrency
25 Configuration
23 Idle
63 Network
27 Other
601 Scheduler 2 System I/O
24 User I/O
17 12 rows selected. 주목할 것은 오라클에서 발생하는 Lock 경합의 대부분을 차지하는 enq: TM - contention 이벤트와 enq: TX – row lock contention 이벤트가 Concurrency가 아닌 Application으로 분류돼 있다는 사실이다. SQL> select event#,
name,
wait_class from
v$event_name where
name in ( 'enq: TM - contention', 'enq: TX - row lock contention' ); EVENT#
NAME
WAIT_CLASS
---------
----------------------------------- --------------------------------------------------
178 enq: TM - contention
Application
186 enq: TX - row lock contention
Application
2 rows selected. 테이블 Lock과 로우
Lock 관련 이벤트를 프로그램 오류와 같이 분류한 것인 이들 문제가 DBA 이슈가 아니라
개발자 이슈임을 분명히 밝히고 있는 것이다. Lock에 대한 근본적인 해법은 애플리케이션 로직에서 찾아야 한다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
26 | 3._SQL트레이스 | sapius | 2012.04.04 | 26852 |
25 | 8._Statspack_AWR | 시와처 | 2012.04.01 | 11488 |
24 | 7._Response_Time_Analysis_방법론과_OWI | 시와처 | 2012.04.01 | 5743 |
23 | 6._V$SYSTEM_EVENT | 시와처 | 2012.04.01 | 3311 |
22 | 4._동시성_구현_사례 [1] | dasini | 2012.03.27 | 11697 |
21 | 5._오라클_Lock | 시와처 | 2012.03.26 | 12579 |
20 | 3._비관적_vs._낙관적_동시성_제어 | dasini | 2012.03.26 | 6185 |
19 | 2._AutoTrace | 남송휘 | 2012.03.26 | 2920 |
18 | 1._Explain_Plan | 남송휘 | 2012.03.26 | 4330 |
17 | 3장._오라클_성능_관리 | 남송휘 | 2012.03.26 | 2896 |
16 | 2._트랜잭션_수준_읽기_일관성 | AskZZang | 2012.03.20 | 6145 |
15 | 1._트랜잭션_동시성_제어 | AskZZang | 2012.03.20 | 4667 |
14 | 11._Shared_Pool | 박영창 | 2012.03.19 | 3163 |
13 | 10._대기_이벤트 | 박영창 | 2012.03.19 | 10373 |
12 | 9._Snapshot_too_old | 박영창 | 2012.03.19 | 9734 |
11 | 8._블록_클린아웃 | 시와처 | 2012.03.19 | 12015 |
10 | 7._Consistent_vs._Current_모드_읽기 | 시와처 | 2012.03.18 | 5500 |
» | 2장._트랜잭션과_Lock | AskZZang | 2012.03.17 | 5251 |
8 | 6._문장수준_읽기_일관성 | 정찬호 | 2012.03.12 | 57274 |
7 | 4._Redo | 남송휘 | 2012.03.12 | 5379 |