"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 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
튜닝툴인 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 스키마는 옵티마이저 통계정보에서 수집한다.