태어난지 9800일!!!!! 째가 되는 날입니다.....ㅎㅎㅎㅎ

 

오늘은 구로 어드벤쳐라고 할 만큼 회사에서 업무를 마치고 강의장까지 역동적인 길을 걸어왔습니다. 힘겹게 버거를 먹고 오늘도 수강을 시작합니다.


사용자 접속을 통해 Black 관련 실습을 진행하였는데 이해를 하지 못했습니다.


 

로긴을 2개의 사용자로 해야 하는데 그것을 하지 못했습니다.

DB성능관리와튜닝_데모스크립트.txt

오늘은 위의 파일을 받았습니다. 스크립트입니다. 실습 과정을 적어둔 파일입니다.

 

** V$SYSSTAT

select name, VALUE from v$sysstat order by 2;

통계 정보를 조회한 화면입니다.

 


위의 화면에서 확인할 수 있는 것 처럼 604건의 항목이 있습니다. 이런 정보들은 DB를 사용하는동안 계속 변합니다. 예를 들면 Session connect time 등도 계속 늘어나기 마련입니다.

DB시작 이후로 누적되는 정보이기 때문입니다. 누적된 정보를 조회하는 것은 사실상 큰 의미가 없습니다.

v$sesstat을 조회하면 알아먹기 힘든 ..... 그런 상황입니다. 뭔가 이해할 수 있는 정보로 만들기 위해서는 V$SYSSTAT 과 조인해야합니다.

select a.*, b.name
from V$SESSTAT a, V$STATNAME b
where a.STATISTIC# = b.STATISTIC#
and a.sid=28;

HR 접속자의 DB사용 통계를 조회하면 아래와 같습니다.

 

뭔가 역시나 알아볼 수 없는 내용들입니다.

 

스크립트 <<** Oracle Wait Event>> 부분을 설명해주셨습니다.

 

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

Oracle의 Graphical tool을 이용할 준비를 하겠습니다.

 

 

바로 위의 두번째 화면의 명령은 시간이 조금은 오래 걸리는 편입니다.

첫 화면은 리스너를 실행하는 것입니다.

 

https://192.168.0.200:1158/em 을 Chrome 브라우저의 주소창에 입력을 하시면

 

 

 

 

사용자 계정은 sys, 비밀번호는 Oracle

SYSDBA로 접속을 하시면 됩니다.

비밀번호 만료에 대한 화면이 나오면 과감하게 확인을 누르고 넘어가시면 됩니다.

위의 화면은 EM(Enterprise Manager)화면입니다. oracle의 tool로 다양한 작업을 할 수 있습니다.

 

위의 화면은 이전 화면의 orcl을 클릭하여 해당 DB사용을 확인 한 화면입니다.

 

위의 화면은 이 전전 화면의 orcl대신 기타를 눌러서 호스트의 정보를 확인하는 화면입니다.

Graphical tool을 이용하면 편리한 부분이 있습니다.

CMD창에서 cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/  로 이동하여 ls *log 를 입력하면 alert_orcl.log라는 로그파일이 있습니다. 성능에 관한 정보를 볼 수 있습니다.

 

alert_orcl.log파일을 vi 편집기로 확인한 내용은 위와 같습니다. 약 3000여 라인으로 저는 확인했고 강사님께서는 계속 내용이 추가된다고 하셨습니다.

실시간 모니터링을 하는 기법인 tail을 걸어두도록 하겠습니다.

** Incomplete checkpoints

select EVENT, TOTAL_WAITS from v$system_event where event like '%log file switch%';


5M redo group 4, 5번 생성 후 기존 1, 2, 3번 group 삭제

select * from v$log;

alter database add logfile group 4 '/u01/app/oracle/oradata/orcl/redo04.log' size 5M;

alter database add logfile group 5 '/u01/app/oracle/oradata/orcl/redo05.log' size 5M;

alter system switch logfile;
<< 강제적으로 Log switch를 일으키는 문장 >>

select * from v$log;

current는 현재 쓰는 redo Log file 입니다.

 

alter system checkpoint;

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

후에
select * from v$log; 로 조회를 해 보면

 


tail 걸어 두었던 화면을 확인하면 아래와 같습니다.

걸어두기 전과 달리 추가되는 내용들이 계속 확인이 되고 있습니다.

 

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

위의 화면은 이전시간에 폭풍확인 후에 남은 화면에서 대기를 작업들이 어떻게 일어났는지를 볼 수 있습니다.

 

** SQL_TRACE

지난 SQL 튜닝 과정에서 자세하게 다루었습니다.

 

** V$뷰의 한계

select NAME, value
from v$sysstat where name like '%physical reads%';

델타값을 알 수 있도록 누적된 정보에서 의미있는 결과를 추출하기 위해서는 특정 기간을 두고 위의 조회를 두번 하여 해당 변화량을 확인하는 것이 의미있는 결과를 확인할 수 있는 방법입니다.

 

*** STATSPACK

** Install statspack
conn / as sysdba
@?/rdbms/admin/spcreate.sql
- perfstat password: oracle
- perfstat default TS : sysaux
- perfstat temp TS : temp

'강의노트' 카테고리의 다른 글

[DB] DB 성능관리와 튜닝 4일차  (0) 2016.02.04
[DB] DB 성능관리와 튜닝 3일차  (0) 2016.02.03
[DB] DB 성능관리와 튜닝 1일차  (0) 2016.02.01
[DB] SQL 튜닝 강의 5일차  (0) 2016.01.29
[DB] SQL 튜닝 강의 4일차  (0) 2016.01.28

+ Recent posts