행위

"Statspack 예시"의 두 판 사이의 차이

DB CAFE

(새 문서: 튜닝툴인 Statspack을 사용하여 보자.. 1. STATSPACK 설치 $ sqlplus "/as sysdba" SQL> @?/rdbms/admin/spcreate.sql - STATSPACK 사용자 설정을 입력한다....)
 
2번째 줄: 2번째 줄:
 
   
 
   
 
1. STATSPACK 설치
 
1. STATSPACK 설치
 +
<source lang=sql>
 
$ sqlplus "/as sysdba"
 
$ sqlplus "/as sysdba"
 
SQL> @?/rdbms/admin/spcreate.sql
 
SQL> @?/rdbms/admin/spcreate.sql
8번째 줄: 9번째 줄:
 
         - Default_tablespace : SYSAUX
 
         - Default_tablespace : SYSAUX
 
         - temp_tablespace : TEMP
 
         - temp_tablespace : TEMP
+
</source>
 
2. 설치후, 오류 로그 확인
 
2. 설치후, 오류 로그 확인
 +
<source lang=sql>
 
SQL> host ls
 
SQL> host ls
 
SQL> host more spcusr.lis | grep error
 
SQL> host more spcusr.lis | grep error
 
SQL> host more spctab.lis | grep error
 
SQL> host more spctab.lis | grep error
 
SQL> host more spcpkg.lis | grep error
 
SQL> host more spcpkg.lis | grep error
+
</source>
 
3. 성능 지표를 생성하기 위한 첫번째 snapshot 생성
 
3. 성능 지표를 생성하기 위한 첫번째 snapshot 생성
 +
<source lang=sql>
 
$ sqlplus perfstat/oracle
 
$ sqlplus perfstat/oracle
 
SQL> variable snap number;
 
SQL> variable snap number;
23번째 줄: 26번째 줄:
 
         /
 
         /
 
SQL> print snap
 
SQL> print snap
+
</source>
 
4. 성능을 비교하기위한 두번째 snapshot 생성
 
4. 성능을 비교하기위한 두번째 snapshot 생성
 +
<source lang=sql>
 
$ sqlplus perfstat/oracle
 
$ sqlplus perfstat/oracle
 
SQL> variable snap number;
 
SQL> variable snap number;
32번째 줄: 36번째 줄:
 
         /
 
         /
 
SQL> print snap
 
SQL> print snap
+
</source>
 
5. 결과 지표 보고서 생성
 
5. 결과 지표 보고서 생성
 +
<source lang=sql>
 
$ sqlplus perfstat/oracle
 
$ sqlplus perfstat/oracle
 
SQL> set echo on
 
SQL> set echo on
40번째 줄: 45번째 줄:
 
         - end_snap : 2
 
         - end_snap : 2
 
         - report_name : sp_rep_1.lst
 
         - report_name : sp_rep_1.lst
+
</source>
 
*  스냅샷의 레벨 및 설정
 
*  스냅샷의 레벨 및 설정
 
- 스냅샷의 레벨별 기능
 
- 스냅샷의 레벨별 기능
51번째 줄: 56번째 줄:
 
   
 
   
 
- 레벨의 설정
 
- 레벨의 설정
 +
<source lang=sql>
 
  SQL> exec statspack.snap(i_snap_level => 7);
 
  SQL> exec statspack.snap(i_snap_level => 7);
 +
</source>
 
- 레벨의 디폴트값 변경
 
- 레벨의 디폴트값 변경
 +
<source lang=sql>
 
  SQL> exec statspack.modify_statspack_parameter(i_snap_level = > 0);
 
  SQL> exec statspack.modify_statspack_parameter(i_snap_level = > 0);
+
</source>
 
* Statspack 사용시 고려사항
 
* Statspack 사용시 고려사항
 
- statistics_level = typical 이상   
 
- statistics_level = typical 이상   
64번째 줄: 72번째 줄:
 
- ######## 이렇게 표헌되면 interval이 너무 길다는 것이다.
 
- ######## 이렇게 표헌되면 interval이 너무 길다는 것이다.
 
- perfstat 스키마는 옵티마이저 통계정보에서 수집한다.
 
- perfstat 스키마는 옵티마이저 통계정보에서 수집한다.
 
* 참조
 

2020년 1월 21일 (화) 14:25 판

thumb_up 추천메뉴 바로가기


튜닝툴인 Statspack을 사용하여 보자..

1. STATSPACK 설치

$ sqlplus "/as sysdba"
SQL> @?/rdbms/admin/spcreate.sql
         - STATSPACK 사용자 설정을 입력한다.
         - Perfstat Pass : oracle
         - Default_tablespace : SYSAUX
         - temp_tablespace : TEMP

2. 설치후, 오류 로그 확인

SQL> host ls
SQL> host more spcusr.lis | grep error
SQL> host more spctab.lis | grep error
SQL> host more spcpkg.lis | grep error

3. 성능 지표를 생성하기 위한 첫번째 snapshot 생성

$ sqlplus perfstat/oracle
SQL> variable snap number;
SQL> begin
         :snap := statspack.snap(i_snap_level=>7);
         end;
         /
SQL> print snap

4. 성능을 비교하기위한 두번째 snapshot 생성

$ sqlplus perfstat/oracle
SQL> variable snap number;
SQL> begin
         :snap := statspack.snap(i_snap_level=>7);
         end;
         /
SQL> print snap

5. 결과 지표 보고서 생성

$ sqlplus perfstat/oracle
SQL> set echo on
SQL> @?/rdbms/admin/spreport.sql
         - begin_snap : 1
         - end_snap : 2
         - report_name : sp_rep_1.lst
  • 스냅샷의 레벨 및 설정

- 스냅샷의 레벨별 기능

 레벨 0 : 일반적인 성능 통계정보를 수집
 레벨 1 : (R9.2.0~)
 레벨 5 : default 값으로 일반적인 통계정보에 추가하여 resource를 많이 사용하는 SQL 정보 포함
 레벨 6 : 레벨5 + SQL상세 실행계획 정보를 포함한다.
 레벨 7 : 레벨6 + 부모 Latch,자식 Latch정보등을 포함
 레벨이 높을수록 resource의 사용이 많다. 따라서 레벨10의 경우 필요시에만 한다.

- 레벨의 설정

SQL> exec statspack.snap(i_snap_level => 7);

- 레벨의 디폴트값 변경

SQL> exec statspack.modify_statspack_parameter(i_snap_level = > 0);
  • Statspack 사용시 고려사항

- statistics_level = typical 이상

  (show parameter statistics_level, alter system set statistics_level=typical)

- timed_statistics = true로 하여 시간 정보를 수집

  (show parameter timed_statistics, alter system set statistics_level=TRUE)

- statspack과 AWR을 같은 시간에 수집하는것을 피한다. - 스냅샷의 간격을 너무 길게 잡지 않는다. - ######## 이렇게 표헌되면 interval이 너무 길다는 것이다. - perfstat 스키마는 옵티마이저 통계정보에서 수집한다.