[운영 종료] TmaxTibero Tech Blog

티맥스티베로 공식 블로그는 https://tmaxtibero.blog/ 로 이전되었습니다.

티맥스티베로 공식 블로그 이전 자세히보기

Admin, 환경설정

[Tibero] Tibero 운영 가이드 for beginner (10)

TmaxTiberotech 2023. 5. 15. 11:01

5. Performance Analysis

Tibero 에서 제공하는 기능을 사용하여 DB 성능을 분석을 할 수 있습니다.

5.1. TPR Report

TPR(Tibero Performance Repository)은 통계 정보를 주기적으로 자동 수집하여 수집한 통계

자료에 대한 자체적인 분석 리포트 출력 기능을 제공하여 시스템 부하 분석에 도움을 줄 수

있는 기능입니다.  주기적으로(default 1시간) 특정 테이블에 데이터를 저장하고 이렇게 저장된

정보를 Snapshot 라고 합니다.

 

Step
Command
Select Snapshot
SQL> alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';
SQL> select * from _tpr_snapshot order by BEGIN_INTERVAL_TIME;
Create Snapshot
SQL> exec dbms_tpr.create_snapshot;
SQL> exec dbms_tpr.create_snapshot_all;
Report Snapshot
SQL> exec dbms_tpr.report_text_id(<SNAP_ID>);
SQL> exec dbms_tpr.report_text_id(<BEGIN_SNAP_ID>,<END_SNAP_ID>);
SQL> exec dbms_tpr.report_text_id(BEGIN_SNAP_ID>,<END_SNAP_ID>, <INSTANCE_NUMBER>);
Snapshot Location
$TB_HOME/instance/$TB_SID/tpr_report.{mthr_pid}.{current_time}

 

Example
​​
set lines 200
col BEGIN_INTERVAL_TIME for a20
col END_INTERVAL_TIME for a20
alter session set nls_date_format = 'yyyy/mm/dd hh24:mi:ss';
select * from _tpr_snapshot order by BEGIN_INTERVAL_TIME;
SNAP_ID THREAD# INSTANCE_NUMBER BEGIN_INTERVAL_TIME END_INTERVAL_TIME SNAP_GID
MARKED_FOR_REPORT
-------------- ---------------- -------------------------- ---------------------------------- --------------------------------- ------------------------
2436                       0                                   0 2018/12/12 14:12:31         2018/12/12 15:12:31        N
2437                       0                                   0 2018/12/12 15:12:31         2018/12/12 16:12:31        N
2438                       0                                   0 2018/12/12 16:12:31         2018/12/12 17:12:31        N
SQL> conn sys/tibero
Connected to Tibero.
SQL> exec dbms_tpr.report_text_id(2);
PSM completed.
SQL> exec dbms_tpr.report_text_id(1,2,0);
PSM completed.
SQL> exec dbms_tpr.report_text_id(1,2);
PSM completed.
tibero@edu1[tac1]:/home/tibero> ls -tlr $TB_HOME/instance/$TB_SID/tpr*
rw-r--r--. 1 tibero dba 153184 Dec 19 15:43 tpr_report.tac.20181219_154356.txt
rw-r--r--. 1 tibero dba 265641 Dec 19 15:47 tpr_report.tac.20181219_154704.txt
rw-r--r--. 1 tibero dba 266571 Dec 19 15:47 tpr_report.tac.20181219_154728.txt
rw-r--r--. 1 tibero dba 284535 Dec 19 15:48 tpr_report.tac.20181219_154758.txt

5.2. SQL Plan

Command
Description
SQL> help set
AUTOT[RACE] {OFF|ON|TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]] [PLANS[TAT]

 

Example
​​
SQL> set autot on
SQL> select * from product;
PROD_ID  PROD_NAME PROD_GROUP PROD_COST
-------------- --------------------- --------------------- -------------------
0100          AnyLink             EAI                                8000
0200         BizMaster          EAI                              12000
0300         JEUS                  MW                               2900
0400         OpenFrame        FRAME                         7000
0500         ProERP              BA                               20000
0600         ProCRM             BA                                 7000
0700         ProFrame           FRAME                         6200
0800         ProPortal            UI                                  8600
0900         ProSync             DBMS                            2500
1000         ProWeb              UI                                   2000
1100         SysKeeper         ETC                                1500
1200         SysMaster         ETC                                1400
1300         Tibero                DBMS                             1500
1400         Tmax                 MW                                 3800
1500         WebtoB             MW                                   500
15 rows selected.
SQL ID: 05fkk4a4h3x2x
Child number: 600
Plan hash value: 4019249154
Execution Plan --------------------------------------------------------------------------------
1 TABLE ACCESS (ROWID): PRODUCT (Cost:7, %%CPU:0, Rows:15)
2 INDEX (FAST FULL SCAN): PRODUCT_PK (Cost:6, %%CPU:0, Rows:15)
Note
--------------------------------------------------------------------------------
2 - dynamic sampling used for this table (13 blocks)
NAME                           VALUE
------------------------------ ----------
db block gets                     147
consistent gets                    99
physical reads                     12
redo size                           436
sorts (disk)                            0
sorts (memory)                     1
rows processed                  15

5.3. tbprof

sqltrace 파라메터를 키고 sql을 수행하면 SQL_TRACE_DEST 위치에 파일이 생성됩니다.

생성된 파일로 tbprof 유틸리티를 사용해 분석 가능한 형태의 Report 파일을 생성합니다.

alter system 단위로 수행하게 되면 DB에 발생되고 있는 모든 쿼리가 sqltrace 파일로

떨어지므로 session 단위로 수행 할 것을 권장합니다.

 

Step
Command
Command
SQL> alter session set sql_trace=y;
SQL> < sql execute >
SQL> alter session set sql_trace=n;
Location
SQL> show parame SQL_TRACE_DEST
NAME TYPE VALUE
------------------------- -------------- ------------------------------------------------
SQL_TRACE_DES DIRNAME /home/tibero/tibero6/instance/tac1/log/sqltrace/
tbprof
$ tbprof < Generated SQLTRACE File > < File name for creating >

 

Example
​​
SQL> alter session set sql_trace=y;
Session altered.
SQL> select * from product;
PROD_ID PROD_NAME    PROD_GROUP PROD_COST
-------------- --------------------- --------------------- -------------------
0100          AnyLink              EAI                                  8000
0200          BizMaster           EAI                                12000
0300         JEUS                   MW                                 2900
0400         OpenFrame         FRAME                           7000
0500         ProERP               BA                                 20000
0600         ProCRM              BA                                   7000
0700         ProFrame            FRAME                           6200
0800         ProPortal             UI                                    8600
0900         ProSync              DBMS                             2500
1000         ProWeb               UI                                   2000
1100 SysKeeper ETC 1500
1200 SysMaster ETC 1400
1300 Tibero DBMS 1500
1400 Tmax MW 3800
1500 WebtoB MW 500
15 rows selected.
SQL> alter session set sql_trace=n;
Session altered.
tibero@edu1[tac1]:/home/tibero/tibero6/instance/tac1/log/sqltrace> ls -tlr
total 4
-rw-r--r--. 1 tibero dba 849 Dec 20 10:21 tb_sqltrc_27218_118_156899.trc
tibero@edu1[tac1]:/home/tibero/tibero6/instance/tac1/log/sqltrace>                     tbprof
tb_sqltrc_27218_118_156899.trc a.out
tibero@edu1[tac1]:/home/tibero/tibero6/instance/tac1/log/sqltrace> cat a.out
TBPROF 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
stage count    cpu elapsed  current  query disk rows
------- -------- ------- ----------- ---------- -------- ------ -------
parse         1  0.00       0.00           0         0      0      0
exec          1  0.00       0.00           0         0       0     0
fetch          1  0.00       0.00           2         3      0    15
-----------------------------------------------------------------------------
sum 3 0.00 0.00 2 3 0 15
rows u_rows execution plan
----------------------------------------------------------
15 - table access (rowid) PRODUCT(2709) (et=24, cr=1, cu=0, co=7, cpu=0, ro=15)
15 - index (fast full scan) PRODUCT_PK(2710) (et=31, cr=2, cu=2, co=6, cpu=0, ro=15)