오라클 성능 트러블슈팅의 기초 (2012년)
MOATS 0 0 39,657

by 구루비스터디 MOATS [2023.09.07]


MOATS

  • Download :http://www.oracle-developer.net/content/utilities/moats_v1.04.zip
  • MOATS(Mother Of All Tunig scripts)
    • 성능 튜닝 작업을 하기 전에 어떤 부분에 문제가 있는지를 직관적으로 파악하기 위한 모니터링 기능을 제공
    • 고가의 모니터링 툴을 구입할 여유가 없는 경우에 비용 대비 최고의 효과


SQL> SELECT * FROM TABLE (moats . top(5));


MOATS: The Mother Of All Tuning Scripts v1.0 by Adrian Billington & Tanel Poder
       http://www.oracle-developer.net & http://www.e2sn.com

+ INSTANCE SUMMARY ------------------------------------------------------------------------------------------+

OUTPUT
--------------------------------------------------------------------------------------------------------------
| Instance: PRD              | Execs/s:   925.2 | sParse/s:    24.9 | LIOs/s:  303783.8 | Read MB/s:    42.8 |
| Cur Time: 12-May 01:26:20  | Calls/s:   941.6 | hParse/s:     0.0 | PhyRD/s:   5472.7 | Write MB/s:    0.1 |
| History:  0h 0m 7s         | Commits/s:   5.8 | ccHits/s:    65.6 | PhyWR/s:     16.2 | Redo MB/s:     0.0 |
+------------------------------------------------------------------------------------------------------------+

+ TOP SQL_ID (child#) -----+ TOP SESSIONS ---------+      + TOP WAITS -------------------------+ WAIT CLASS -+
|  89% | 0szdu5xyt628h (1) | 93,103,104,111,112    |      |  81% | read by other session       | User I/O    |
|   3% | any10yyapacp5 (3) | 197,502,375,219       |      |  12% | db file sequential read     | User I/O    |
|   1% | 33sr04320nk79 (0) | 322                   |      |   5% | latch: cache buffers chains | Concurrency |
|   1% | 4jgvbz1z484wk (0) | 398                   |      |   1% | db file parallel read       | User I/O    |
|   1% | 6y9n7a20n7mrd (0) | 99                    |      |   1% | ON CPU                      | ON CPU      |

OUTPUT
--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------+      +--------------------------------------------------+

+ TOP SQL_ID ----+ PLAN_HASH_VALUE + SQL TEXT ---------------------------------------------------------------+
| 0szdu5xyt628h  | 2111011212      | SELECT "VBELN" , "TUTOR" , "ERDAT" , "AUDAT" , "KVGR2" , "WKDAY" , "AUG |
|                |                 | RU" , "VGBEL" FROM "VBAK" WHERE "MANDT" = :A0 AND "VBELN" BETWEEN :A1 A |
+ ---------------------------------------------------------------------------------------------------------- +
| any10yyapacp5  | 570089534       | SELECT T_00 . "VBELN" , COUNT(*) "ZCNT" FROM "ZBW_TEMP11" T_00 INNER JO |
|                |                 | IN "VBUP" T_01 ON T_01 . "MANDT" = :A0 AND T_00 . "VBELN" = T_01 . "VBE |
+ ---------------------------------------------------------------------------------------------------------- +
| 33sr04320nk79  | 2315334320      | SELECT T_01 . "TUTOR" , T_03 . "MATNR" , T_04 . "ZMVGR" FROM "ZSDT0078" |
|                |                 |  T_00 INNER JOIN "ZSDT0085" T_01 ON T_01 . "MANDT" = :A0 AND T_00 . "VB |

OUTPUT
--------------------------------------------------------------------------------------------------------------
+ ---------------------------------------------------------------------------------------------------------- +
| 4jgvbz1z484wk  | 2605360516      | SELECT "VBELN" , "POSNR" , "VBELV" , "ERDAT" FROM "VBAP" WHERE "MANDT"  |
|                |                 | = :A0 AND "EDUFL" = :A1 AND "MVGR1" IN ( :A2 , :A3 )                    |
+ ---------------------------------------------------------------------------------------------------------- +
| 6y9n7a20n7mrd  | 1492336331      | insert /*+ append */ into sys.ora_temp_1_ds_40535 select /*+ no_paralle |
|                |                 | l(t) no_parallel_index(t) dbms_stats cursor_sharing_exact use_weak_name |
+ ---------------------------------------------------------------------------------------------------------- +





  • 시스템 전반의 스냅샷 리포트와 Top SQL, Top Wait, 액티브 세션 히스토리 등이 일목요연하게 출력되어 매우 간편하게 시스템 전반의 성능문제를 파악 할 수있다.
  • 액티브 세션 히스토리를 V$ACTIVE_SESSION_HISTORY 뷰에서 읽기 때문에 최소한의 부하로 데이터를 가져온다.
"데이터베이스 스터디모임" 에서 2012년에 "오라클 성능 트러블슈팅의 기초 " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/4316

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입