728x90
# ROW CACHE LOCK
l Row cache lock
l Row cache lock 테스트
n Awr report
SQL> connect owi/owi SQL> alter sequence seq_sq_enqueue nocache; SQL> exec dbms_workload_repository.create_snapshot; SQL> @exec Event name to simulate: sq_enqueue Session count [10]: 10 Expired by time(1) or looping count(2) [1]: 1 Execution internval(sec or count) [30]: 120 Enable_trace (1=TRUE, 0=FALSE) [0]: 1 Exec method(0=Oracle Job, 1=Unix Shell) [0]: 0 Init data(1=TRUE, 0=FALSE) [1]: 1 # ORANGE - 오렌지에서 row cache lock이 보이는 것을 확인할 수 있다 SQL> exec dbms_workload_repository.create_snapshot; SQL> @?/rdbms/admin/awrrpt.sql # AWR REPORT - row cache lock이 대부분의 event를 차지하는 것을 알 수 있다 - 레포트에서 lock이 걸린 enqueue이름을 확인할 수 있다(SEQ_SQ_ENQUEUE) |
n Addm Report
SQL> connect owi/owi SQL> alter sequence seq_sq_enqueue nocache; SQL> exec dbms_workload_repository.create_snapshot; SQL> @exec SQL> exec dbms_workload_repository.create_snapshot; SQL> @?/rdbms/admin/addmrpt.sql # Addm Report
- Addm report 는 awr report와는 다르게 해결방법까지 알려준다 - 위의 결과를 보면 sequence usage가 82%를 넘나들며 많은 리소스를 사용중이다 - 그리고 빨간 글씨부분을 읽어보면 cache가 현재 없다고 말하고 있고 큰 cache size를 사용하라고 추천하고 있다 |
n AWR compare report
- sq enqueue를 부하를 주는데 위 그림처럼 snapsot을 3번 찍어서 2 부분을 확인한다 - 첫번째 부분은 no cache 상태일 때를 보는 것이고 두번째 부분은 cache size를 800으로 변경하고 결과를 확인한다 SQL> exec dbms_workload_repository.create_snapshot; SQL> @exec - SQ enqueue 발생 시킨다(120초) SQL> exec dbms_workload_repository.create_snapshot; SQL> alter sequence seq_sq_enqueue cache 800; SQL> @exec - SQ enqueue 발생 시킨다(120초) SQL> exec dbms_workload_repository.create_snapshot; SQL> @?/rdbms/admin/awrddrpt.sql |
'빅데이터과정 > OWI' 카테고리의 다른 글
#41_140808_OWI_I/O EVENT (0) | 2014.08.08 |
---|---|
#41_140808_OWI_DB BUFFER CACHE (0) | 2014.08.08 |
#40_140807_OWI_ENQUEUE (0) | 2014.08.07 |
#40_140807_OWI_UPDATABLE JOIN VIEW (0) | 2014.08.07 |
#40_140807_OWI_LATCH (0) | 2014.08.07 |