오늘은  일찍나오지는 못했지만 비빔밥을 동기들과 먹고 와규(?) 선물세트를 챙겨서 강의를 들으러 왔습니다.

오늘 강의의 시작은 2일간의 강의 전반적인 응답을 수강생들에게 들어보시면서 간단하게 수강 느낌을 물어보시고 시작을 하였습니다.

DBMS에 대한 선행지식이 필요하다는 것, DB관련 통계를 보고 그 내용을 분석하여 성능적인 부분에 대해 비교를 할 수 있어야 한다고 하셨습니다.

'단순히 사무적으로 관리를 잘해서 성능이 좋아졌다'라는것이 형식적인 내용이 아니라 사람의 이야기와 비교하여 "건강하고 숨잘쉬고 하면 된다."는 그런 추상적이로 일반적인 내용이 아니라 구체적으로 성능 개선을 위한 과정의 일부를 확인하시는 것이 이 과정에 대한 도움을 줄 수 있다고 하셨습니다.

경력과 배경 지식에 따라 이해하기 어려울 수 있지만 이 과정을 뒤로 갈 수록 강의를 듣는데에 수월할 수 있다고 이야기하셨습니다.

설명은 Statspack 설명을 하셨습니다.

*** STATSPACK <<실습 계속>>

 "PERFSTAT" user로 작업을 하기위해 해당 user로 로그인을 합니다.

리포트를 생성하고 확인하는 실습입니다.

conn perfstat/oracle

exec statspack.snap;

variable snap number;

begin
:snap := statspack.snap;
end;
/

print snap

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

select SNAP_ID, SNAP_TIME, SNAP_LEVEL
from STATS$SNAPSHOT
order by SNAP_ID ;

@?/rdbms/admin/spreport

그리고  exit하여 ls로 파일을 조회하면 "sp_1_2.lst"라는 파일이 생성되어 있습니다. vi편집기로 확인한 화면은 아래와 같습니다.

강사님께서는 VM안의 Linux에서 메모장을 열어서 보여주셨습니다.

Snapshot       Snap Id     Snap Time      Sessions Curs/Sess Comment
~~~~~~~~    ---------- ------------------ -------- --------- ------------------
Begin Snap:          1 03-Feb-16 19:17:35       35       3.3
  End Snap:          2 03-Feb-16 19:18:32       35       3.3
   Elapsed:       0.95 (mins) Av Act Sess:       0.1
   DB time:       0.05 (mins)      DB CPU:       0.02 (mins)

위와같이 snapshot의 생성시점 및 각종 정보들이 보이는 것을 확인할 수 있습니다.

내용을 vi편집기에서 계속 확인하면 첫날 다루었던 top5의 대기시간 정보도 있습니다.

 

아래화면은 CPU 사용을 많이 한 SQL문에대한 보고 내용입니다.

이 외에도 statspack의 리포트는 많은 정보들을 확인할 수 있습니다.

메모리 구성요소 및 변화, Data buffet cache관련 정보, wait정보, PGA에 관한 통계정보, PGA에 대한 Memory advise, Latch 관련 내용, Data dictionary Cache, shared pool에대한 advise정보, memory 사용량, 초기화 Parameter값에 대한 정보까지 포함하고 있습니다.

리포트를 확인하고

CMD창에서 exp perfstat/oracle file=orcldb.dmp를 입력하여 Export를 할 수 있습니다.

 

 

 

다음은 리포트를 보기위해 하나찍고 다른 계정에서 일정 작업을 해서 부하를 주고 그 후에 스냅샷을 찍어 그 사이의 변화량을 리포트로 확인해보겠습니다.

 

두개의 창에서 왼쪽은 SYSDBA , 오른쪽 하늘색 창은SCOTT 사용자입니다.

Load Profile  Section을 확인하시면 됩니다.

 

redo size는 작업이 많을수록 늘어나는 통계값.

=====================================    2    =======================================

건강검진 결과를 하나 검색을 하셔서 보여주시는 비유를 보여주시면서 두번째시간의 강의를 시작하셨습니다. 그 이유는 BaseLine에 대한 설명을 하기 위해서였고, 건강검진의 결과만 보고도 오랜 경험이 있으면 알 수 있을지 모르지만 비교의 기준이 될만한 정보를 알 수 있어야 하고 그러한 것을 BaseLine이라고 합니다.

DB의 통계정보도 더 의미있는 정보와 비교를 통해 성능분석을 하기 위해서 baseline을 즉, 정상적인 범위의 수치에 대한 정보가 필요합니다.

DB튜닝도 건강관리처럼 부하를 없애는 것이 목표가 아니라 정상범위로 만드는 것이 목표라고 생각하시면 이해하기가 쉽다는 설명을 해 주셨습니다. 예로는 고혈압인 사람의 혈압을 없애는(?)것이 아니라 정상 혈압으로 낮추는 처방을 하는 것입니다.

Report를 확인하여 top에 있는 것들을 튜닝의 대상인지 고려해 볼 필요가 있습니다. 튜닝이 이미 완료가 되있거나 더이상 성능개선의 여지가 없는 문장도 top에 등장할 수 있습니다.

 

 

====================================     3     =======================================

AWR에 관한 이론내용부터 강의를 시작하셨습니다. 이번주 금요일은 설 연휴의 전날로 지난번 못지 않게 많은 수강생들이 결석할 것을 고려하여 간단하게 수강생들의 출석의지를 확인하셨습니다.

EM에 접속하여 정보를 확인해보겠습니다.

홈 성능 가용성 서버 스키마 ...

서버 탭을 보시면....

 

위의 화면에서 스냅샷 번호를 누르면 아래의 화면이 나옵니다.

 

강의 시간 일정에 맞게 스냅샷이 찍힌 것을 확인할 수 있습니다.

스냅샷은 X-ray와 비슷한 느낌으로 DB의 정보를 쭉 읽어서 저장하는 느낌입니다.

EM에서도 스냅샷을 생성할 수 있습니다.

 

 

EM을 통해서 statspack report처럼 보고서를 만들어보도록 하겠습니다.

AWR reoprt는 Text형식과 HTML형식으로 만들 수 있습니다.

 

실습을 또 진행하겠습니다 어제 예고하셨던 어제것을 보기 힘들어 새로 만들겠습니다.

 

 

위의 화면은 부하를 준 후의 성능분석 화면입니다. 실시간 tool의 장점을 확인할 수 있습니다.

 

 

VM안에서 생성한 보고서를 확인하는 화면입니다. Applications -> file browser로 열어서 보고서 파일을 열면 위와같은 화면을 볼 수 있습니다.

 스냅샷을 2개 더 찍고

@?/rdbms/admin/awrddrpt.sql
<< 비교 리포트를 만드는것>>

위의 문장을 실행하여 리포트를 만들고 VM화면에서 확인을 해 보겠습니다. 그 화면은 아래와 같습니다.

 

Load Profile 부분을 비교리포트를 보면 위와 같습니다.

아래 화면은 EM 메인화면의 하단 관련링크 파트의 중앙권고자를 눌러 확인한 화면입니다.

 

@?/rdbms/admin/addmrpt

수동분석을 위해 작업을 하고 화면을 보았는데

 

강사님 화면에서는 ADDM이 결과를 찾았지만  제 환경에서는 찾지 못했습니다.

+ Recent posts