우리 회사 데이터베이스를 티베로로 변경하기
분석 리포트 생성 0 0 1,016

by 티베로 TPR Report [2018.09.30]


스냅샷이 저장된 TPR 테이블을 직접 조회하여 원하는 정보를 추출할 수도 있지 만 티베로가 구현해둔 표준화된 성능 보고서 자료를 손쉽게 생성할 수 있다. 원하 는 기간은 SNAP_ID 혹은 시작/종료 시간으로 설정이 가능하며 추출방식은 TXT와 HTML을 지원한다

# SNAP_ID 검색 기준 REPORT 추출
DBMS_TPR.REPORT_TEXT_ID(beginid, endid, instanceno, filename)
DBMS_TPR.REPORT_HTML_ID(beginid, endid, instanceno, filename)

# 시작/종료 시간 검색 기준 REPORT 추출
DBMS_TPR.REPORT_TEXT(begintime, endtime, instanceno, filename)
DBMS_TPR.REPORT_HTML(begintime, endtime, instanceno, filename)

참고 1) HTML 추출 방식은 최근 추가된 기능이나 테스트 결과 아직 안정화가 되지 않은 것으로 확인된다. TXT 방식으로 추출하여 확인할 것을 권고한다.

참고 2) 시작/종료 시간 REPORT 추출 방식은 SNAPSHOT 구간이 정확히 구분되지 않아 부정확한 자료가 추출될 수 있 으므로 SNAP_ID로 검색하여 추출할 것을 권고한다.

참고 3) TAC의 경우 각 노드별 SNAP_ID가 순차적으로 상이하게 생성된다. 따라서 인스턴스 정의 없이 BEGIN_ID ~ END_ID를 정의하면 모든 노드를 합한 분석결과를 추출할 수 있으나 순차적인 SNAP_ID가 동일한 시간대가 아닐 수 있으 므로 각 인스턴스별로 원하는 시간대를 파악하여 별도로 추출하는 것을 추천한다.

참고 4) TAC 1번 노드에서 TPR 리포트 생성 시 SNAP_ID 및 인스턴스를 0번의 것으로 설정하였다면 1번 서버에서 추출된 리포트라도 0번 노드의 분석결과임을 주의한다.

이제 분석 리포트 생성 방법을 상세히 살펴보자.

분석 리포트 추출방법

가. 원하는 기간 검색
SELECT SNAP_ID, BEGIN_INTERVAL_TIME, END_INTERVAL_TIME 
  FROM _TPR_SNAPSHOT
 WHERE INSTANCE_NUMBER = '0' ORDER BY SNAP_ID DESC;
 
---------- ---------------------- -----------------------
SNAP_ID    BEGEIN_INTERVAL_TIME   END_INTERVAL_TIME
---------- ---------------------- -----------------------
92         2016/04/08 17:08:33    2016/04/08 17:09:40
91         2016/04/08 16:00:27    2016/04/08 17:00:27
90         2016/04/08 15:00:27    2016/04/08 16:00:27

나. HTML 형태 & SNAP_ID 기준 REPORT 추출
SQL> exec DBMS_TPR.REPORT_HTML_ID(92, 92, instance_no=>'0');
PSM completed.

다. TXT 형태 & 시작/종료 시간 REPORT 추출
exec dbms_tpr.report_text('2016-04-08 15:30:00', '2016-04-08 16:40:00');
PSM completed.

라. TXT 형태 & SNAP_ID 기준 REPORT 추출
DBMS_TPR.REPORT_TEXT_ID(90, 91, instance_no=>'0',FILE_NAME=>'TPR_TEST.txt');

마. 생성 파일 확인

파일은 "$TB_HOME/instance/$TB_SID/tpr_report.mthr_pid.current_time"에 생성이 된다

@tibero:/tibero/tibero6/instance/tiberoinstance # ls -al
tpr_report.tiberoinstance.20160408_173440.html
tpr_report.tiberoinstance.20160408_174307.txt
TPR_TEST.txt

소속 회사 오픈 이후 TPR REPORT 추출

1. 시스템 구성 : TAC 2노드(INSTANCE0, INSTANCE1)

2. 목표 : 10월 24일 월요일 8시 ~ 20시, INSTANCE 각각, TEXT TYPE, SNAP_ID 기준

3. 시간 검색

SELECT SNAP_ID, INSTANCE_NUMBER, BEGIN_INTERVAL_TIME, END_INTERVAL_TIME
  FROM _TPR_SNAPSHOT
 WHERE TO_CHAR(BEGIN_INTERVAL_TIME,'YYYYMMDDHH24MMSS') 
       BETWEEN '201610240800' AND '201610242000' 
   AND INSTANCE_NUMBER = '0'
 ORDER BY SNAP_ID DESC;

------- --------------- ------------------- ----------------
SNAP_ID INSTANCE_NUMBER BEGIN_INTERVAL_TIME END_INTERVAL_TIME
------- --------------- ------------------- ----------------
 4419    0              2016-10-24 19:48:58 2016-10-24 20:18:58
 4418    0              2016-10-24 19:18:58 2016-10-24 19:48:58
 ...
 4377    0              2016-10-24 08:48:58 2016-10-24 09:18:58
 4376    0              2016-10-24 08:18:58 2016-10-24 08:48:58


SELECT SNAP_ID, INSTANCE_NUMBER, BEGIN_INTERVAL_TIME, END_INTERVAL_TIME
  FROM _TPR_SNAPSHOT
 WHERE TO_CHAR(BEGIN_INTERVAL_TIME,'YYYYMMDDHH24MMSS') 
       BETWEEN '201610240800' AND '201610242000' 
   AND INSTANCE_NUMBER = '1'
 ORDER BY SNAP_ID DESC;
 
------- --------------- ------------------- ----------------
SNAP_ID INSTANCE_NUMBER BEGIN_INTERVAL_TIME END_INTERVAL_TIME
------- --------------- ------------------- ----------------
 4439                 0 2016-10-24 19:49:41 2016-10-24 20:19:41
 4438                 0 2016-10-24 19:19:41 2016-10-24 19:49:41
 ...
 4397                 0 2016-10-24 08:49:41 2016-10-24 09:19:41
 4396                 0 2016-10-24 08:19:41 2016-10-24 08:49:41 

4. TPR 추출 COMMAND(instance 0, 1 모두 instance 1이 운영 중인 서버에서 추출)

EXEC DBMS_TPR.REPORT_TEXT_ID(4376, 4419, instance_no=>'0',FILE_NAME=>
'20161024_TPR_REPORT_INSTANCE0.txt');
EXEC DBMS_TPR.REPORT_TEXT_ID(4396, 4439, instance_no=>'1',FILE_NAME=>
'20161024_TPR_REPORT_INSTANCE1.txt');

5. 추출결과 (각각 약 40분씩 소요됨)

 -rw-r--r-- 1 tibero dba 3475641 Oct 25 13:17 20161024_TPR_REPORT_INSTANCE0.txt
 -rw-r--r-- 1 tibero dba 1309425 Oct 25 13:55 20161024_TPR_REPORT_INSTANCE1.txt

  • - 해당 강좌는 도서 " [우리 회사 데이터베이스를 티베로로 변경하기]"의 내용을 옮겼습니다.
  • - 해당 도서는 기간계 DBMS(DATABASE MANAGEMENT SYSTEM)를 티베로로 전환하는 실제 프로젝트를 수행한 실무자가 DBMS 전환 과정과 실제 적용 사례, 문제 해결 과정 등을 자세하게 설명하고 있습니다.

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

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

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

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