Statspack이란?
Oracle 성능분석을 위한 무료 지원 tool
Statspack을 구성하는 scripts
- - Spcreate.sql : statspack 설치 script
- - Spreport.sql : statspack reporting script
- - Spdoc.txt : 영문 사용자 메뉴얼
- - Sppurge.sql : delete statspack data script
- - Spdrop.sql : drop statspack script
- - spupYYY.sql : statspack upgrade script
- - spuexp.par : statspack user export file
출처 : www.gurubee.net/lecture/1915
Statspack 생성
spcreate 스크립트 수행히 PERFSTAT 유저가 생성됩니다. 아래의 3가지 설정을 manual하게 입력 후 스크립트를 수행합니다.
@?/rdbms/admin/spcreate.sql
Choose the PERFSTAT user's password
Choose the Default tablespace for the PERFSTAT user
Choose the Temporary tablespace for the PERFSTAT user
스냅샷 생성(수동)
SQL> exec statspack.snap;
스냅샷 생성 확인
SQL> select snap_id,snap_time from stats$snapshot;
SNAP_ID SNAP_TIME
---------- ---------
1 02-MAR-21
스냅샷 생성(자동)
아래의 파라미터가 만족해야 자동으로 수행 가능합니다.
-job_queue가 1이상
SQL> show parameter job_queue
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 4
SQL> show parameter timed_statistics
-timed_statistics 가 TRUE로 설정
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
수행 스크립트
SQL> @spauto.sql
PL/SQL procedure successfully completed.
리포트 생성
스냅샷 시작번호와 끝번호 그리고 리포트파일의 이름을 manual 하게 입력하면 리포트가 생성됩니다.
SQL> @?/rdbms/admin/spreport.sql
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
2938035446 XE 1 XE
Instances in this Statspack schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
----------- -------- ------------ ------------ ------------
2938035446 1 XE XE ysbae
Using 2938035446 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Listing all Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level Comment
------------ ------------ --------- ----------------- ----- --------------------
XE XE 1 02 Mar 2021 02:56 5
2 02 Mar 2021 04:00 5
...생략
42 03 Mar 2021 20:00 5
43 03 Mar 2021 21:00 5
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 40
Begin Snapshot Id specified: 40
Enter value for end_snap: 41
End Snapshot Id specified: 41
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is sp_40_41. To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: test.sql
Using the report name test.sql
'Oracle > 튜닝' 카테고리의 다른 글
AWR 딕셔너리 VIEW을 이용한 SQL Tuning 정보 추출 (0) | 2022.08.30 |
---|---|
실행계획에서 Sort 연산 관련 종류 (0) | 2021.12.14 |
Statspack (0) | 2021.06.22 |
RBO(Rule-Based Optimization)와 CBO(Cost-Based Optimization) (0) | 2020.10.13 |
쿼리에 인덱스 힌트 사용하기(여러개 포함) (0) | 2020.10.07 |
댓글