# 고객 요청 사항: DBMS 상태 점검

 

# 작업내용 요약

  1. ADDM 리포트 조회 – 튜닝이 필요한 SQL 확인(3개)
  2. AWR 리포트 조회 – 해당 SQL ID를 통해 자세한 상황을 확인, 50만건 이상의 실행이 있었음을 확인
  3. 바인드 변수 입력 후 조회 – 쿼리를 실행해 쿼리 자체에는 문제가 없음을 확인
  4. 지연되는 쿼리를 중단 시키고 반복 실행하여 나온 수치로 추정
  5. 자세한 확인을 위해 추후 작업이 있을 시 실시간 모니터링 권고

1. ADDM 리포트 조회

  • 튜닝이 필요한 SQL 확인(3개)

    Finding 1: Top SQL Statements

    Impact is .48 active sessions, 41.85% of total activity.

    --------------------------------------------------------

    SQL statements consuming significant database time were found. These

    statements offer a good opportunity for performance improvement.

     

    Recommendation 1: SQL Tuning

       Estimated benefit is .18 active sessions, 15.96% of total activity.

       -------------------------------------------------------------------

       Action

          Run SQL Tuning Advisor on the SELECT statement with SQL_ID

          "5w6088guhfs82".

     

    Recommendation 2: SQL Tuning

       Estimated benefit is .17 active sessions, 15.07% of total activity.

       -------------------------------------------------------------------

       Action

          Run SQL Tuning Advisor on the SELECT statement with SQL_ID

          "7nzkbr2dru1vh".

     

    Recommendation 3: SQL Tuning

       Estimated benefit is .12 active sessions, 10.82% of total activity.

       -------------------------------------------------------------------

       Action

          Run SQL Tuning Advisor on the SELECT statement with SQL_ID

          "dnfgfaranxx2d".

     

     

    위와 같이 3개의 SQL을 찾았고 튜닝 시 해당 쿼리의 총 40% 정도의 성능 향상을 기대 할 수 있다고 확인 되었습니다.

2. AWR 리포트 조회

  • 해당 SQL ID를 통해 자세한 상황을 확인
    • 50만건 이상의 실행이 있었음을 확인

     

3. 바인드 변수 입력 후 조회

  • 쿼리 실행에 이상이 없음을 확인
    • 바인드 변수 찾는 방법(상태 체크일 기준(10/2) 작업당일이(9/30) 3일 전이므로 sysdate -3 으로 조회)

    select * from DBA_HIST_SQLBIND where SQL_ID='5w6088guhfs82' and LAST_CAPTURED > sysdate - 3 ;

4. 별첨

## 트레이스 안 뜨고 실 플랜 보는 방법

 

select   LAST_OUTPUT_ROWS "Row",

LPAD ('   ', DEPTH) || OPERATION ||' '||  OPTIONS ||' '||  OBJECT_NAME || ' (cr=' || LAST_CR_BUFFER_GETS|| ' pr=' || LAST_DISK_READS || ' pw=' || LAST_DISK_WRITES || ' time=' || LAST_ELAPSED_TIME || ')' AS "Row_Source_Operation"

from v$sql_plan_statistics_all

where sql_id='&&sql_id'

and child_number='&&child_number'

order by id;

 

## SQL에서 차일드 넘버 확인 하는 쿼리

 

select sql_id,

  PARSING_SCHEMA_NAME "USER",

  PLAN_HASH_VALUE,

  OPTIMIZER_MODE,

  child_number,

  parse_calls,

  USERS_OPENING,

  USERS_EXECUTING,

  loads,

  executions,

  invalidations,

  decode(sign(invalidations), 1, (loads-invalidations), 0) reloads,

  FIRST_LOAD_TIME,

  LAST_LOAD_TIME

from v$sql

where sql_id='&&sql_id'

and  sql_text not like '%v$sql%';

 

## 오렌지 5.0 에서 AWR, ADDM 리포트 생성 방법

 

- 오렌지 상단 메뉴 중 DBA 선택 -> AWR Manager 선택

 

- Report Mode에서 AWR or ADDM 등 선택

 

 

- Report Format 선택

 

- Start Snapshot 선택

 

- End Snapshot 선택

 

- Report 생성(상단의 Generate Report 선택)

 

- 실행 결과

사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts