2월 1일... DB 성능관리와 튜닝 3번째 강의 첫시간입니다.

3주째 같은 강사님께 수업을 듣기 때문에 이제는 반갑게 인사를 할 수도 있습니다. 워낙 성격이 나긋나긋하지는 못한 편이지만요... 

쓸데없는 소리는 저기까지만 하고 오늘도 강의 , 수강을 시작하겠습니다.


과정에 대한 특징 설명으로 강의를 시작하셨습니다.

DB 서버에 대한 성능관리를 주로 다룰 예정입니다. 다른말로는 인스턴트 튜닝 혹은 서버튜닝 이라고 합니다.  Oracle DB를 사용할 예정입니다. 환경설정이 지난주에 거의 갖춰져있어서 걱정은 없고 Oracle 11g를 가지고 실습을 진행할 예정입니다.

튜닝이라는 것은 관련 문서를 보여드릴 예정이지만 튜닝은 크게 3가지로 나뉩니다.

 1) 성능계획. 성능관리 -> HW선정과 DB 설계 및 객체생성을 어떻게 효율적으로 할 것인지를 튜닝하는 부분입니다.

 2) SQL (app) 튜닝 -> SQL에 대한 내용입니다.

 3) DB 서버 (인스턴트) 튜닝

위의 2)와 3)을 비유를 하면 2가 자동차라면 3은 도로라고 비유할 수 있습니다. 물론 이 비유는 지난 강의때 나왔던거 보셨으면 기억 하실 수 있을 것이라고 생각합니다.

둘다 우열을 가릴 수 없을 정도로 중요합니다.

오늘도 수강생의 현황을 한번 파악을 해 주시면서 다양한 경험과 실력을 가진 수강생들이 모여있는 것을 알려주셨습니다.

이 DB성능관리와 튜닝이라는 과정은 어디가서 쉽게 들을수는 없는 과정입니다.

교제 내용으로 수업을 진행하셨습니다.


책 내용을 살펴보면 튜닝을 야기하는?? 10가지 실수에 대해 소개가 되어있습니다.

1. 잘못된 접속 관리

2. 커서와 Shared Pool의 잘못된 사용

3. 잘못된 SQL

4. 비 표준화 파라미터 사용

5. 잘못된 DB의 I/O구성

6. 온라인 리두 설정문제

7. 프리 리스트, 프리 리스트 그룹, 트렌잭션 슬롯의 부족 또는 언두 세그먼트의 부족으로 인한 버퍼 케시 내의 데이터 블록 직렬화

8. Long Full Table Scan -> 커다란 테이블을 통으로 읽는 것입니다.

9. 대량의 재귀 SQL -> Recursive SQL

10. 배포 및 이전 오류


위의 내용에 대한 자세한 설명은 책에 적어두었습니다.

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

두 번째 시간은 실습환경을 구축하는 것으로 시작하였습니다. D 드라이브로 옮기면서 저도 다시 설치를 진행하였습니다.

이번에도 리눅스에서 터미널을 열고 SQL PLUS를 실행하여 sysdba계정으로 접속하여 DB를 시작(startup)하였습니다.

그리고 책에 이어지는 부분을 계속 설명해 주셨습니다.

DB 성능관리와 튜닝 개요라는 주제로 설명을 하셨습니다.


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


튜닝 도구 ~ 

위의 범위에 해당하는 내용을 책을 가지고 내용설명을 진행하셨습니다.

수업 중 License관련 이야기를 하며 불법 S/W에 대한 이야기... 농담 반 진담 반이지만 개발자인 나 조차도 돈을 주고 S/W를 쓰지 않으려고 하는걸 보면.... 뭔가 이해가 가지 않는 아니러니 한 상황입니다.

Dynamic View까지 설명을 하시고 그 이후에는 실습을 진행하셨습니다.

V$ view

 

위의 블록 처리한 문장을 수행한 결과입니다.

책에 등장하는 예제입니다.

 

Oracle site에 또 왔습니다.

이번에는 http://docs.oracle.com/en/database/database.html 를 아예 즐겨찾기(북마크) 하였습니다.

11.2  ( 11g)로 확인을 하시기로 하셨습니다.
이 과정에서는 Reference를 많이 사용할 예정이라고 하였습니다.

 다운 받을 수 있다고 하셨는데 1306 페이지라서 포기하였습니다.

V$SQLSTATS

V$SQLSTATS displays basic performance statistics for SQL cursors and contains one row per SQL statement (that is, one row per unique value ofSQL_ID). 

 

 사이트에 접속해서 위의 내용을 확인할 수 있습니다.

 

 

위의 두 화면은 분홍색 화면의 scott이라는 사용자가 사용한 SQL문을 SYS관리자 계정에서 몇번 사용되었는지를 조회해 보는 화면입니다.

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

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

+ Recent posts