사용자 도구

사이트 도구


study:oracle:adv_owi_10g:intro

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
study:oracle:adv_owi_10g:intro [2009/07/21 13:50]
starlits
study:oracle:adv_owi_10g:intro [2009/07/22 00:42] (현재)
starlits
줄 64: 줄 64:
  
 ==== Extended SQL Trace ==== ==== Extended SQL Trace ====
 +
 +  - SQL Trace 는 기본적으로 10046 진단이벤트를 통해 활성화된다.
 +  - 4가지 레벨로 제어할 수 있다.
 +  - SQL 성능진단을 위해서 SQL Trace 를 할 경우에는 반드시 레벨 12를 사용해야 한다.
 +
 +==  ==
 +^ 레벨 ^ 설명 ^
 +^ LEVEL 1  | SQL문장의 실행정보(Parse,Execute,Fetch 단계 및 Row source operation 결과)만을 제공 |
 +^ LEVEL 4  | LEVEL 1 + 바인드 변수값 제공 |
 +^ LEVEL 8  | LEVEL 1 + 대기정보 제공 |
 +^ LEVEL 12 | LEVEL 4 + LEVEL 8 \\ SQL 문장의 실행정보와 바인드 변수 값, 대기정보를 제공 |
 +
 +=== 10046 진단이벤트 활성화 방법 ===
 +  - 현재세션에서 작업하고자 하는 경우
 +  - dbms_system을 이용해 다른 세션에 대해 Trace를 수행하는 경우
 +  - dbms_monitor 패키지를 이용하여 다른 세션에 대해 Trace를 수행하는 경우(10g 부터 제공)
 +  - oradebug를 이용해 다른 세션에 대해 Trace를 수행하는 경우
 +
 +
 +
 ==== oradebug 와 덤프(dump) ==== ==== oradebug 와 덤프(dump) ====
 +
 +  - 대기현상들을 분석하고 이해하는데 유용한 툴
 +  - oradebug는 DBA를 위한 가장 강력한 툴
 +  - **oradebug를 반드시 sysdba 권한으로 실행**하여야 한다.
 +  - oradebug 명령어 확인(help) <code sql>
 +$ sqlplus / as sysdba
 +SQL> oradebug help
 +</code>
 +  - 더 자세한 정보는 [[dbms:oracle:admin:oradebug | oradebug 사용법 ]]를 보면 된다.
 +
 ==== AWR(Automatic Workload Repository) ==== ==== AWR(Automatic Workload Repository) ====
  
 +  - 10g 부터 도입된 성능이력관리 기능이다.
 +  - 수집된 데이터는 **DBA_HIST_XXX 뷰**를 통해 조회가 가능하다.
  
 +=== AWR에서 수집되는 데이터들 ===
  
 +==  ==
 +
 +| Active Session History |
 +| 부하가 큰 문장 |
 +| 시스템 레벨과 세션 레벨에서 Time Model 통계 |
 +| 세그먼트와 기타 데이터베이스 객체에 대한 사용 통계치 |
 +| V$SESSTAT, V$SYSSTAT, V$SYSTEM_EVENT, V$SESSEION_EVENT 등 |
 +
 +=== 제한사항 ===
 +  - 오라클 장애는 일반적으로 Active Session은 초당 1회 이상, Active SQL은 초당 수십 회 이상 캡쳐해서 저장할 수 있어야 한다.
 +  - AWR 은 데이터를 테이블로 저장하기 때문에 빈번한 데이터 저장이 어려울 수 있다.
 +  - AWR에서 스냅샷이 저장되는 주기가 30분인 점을 생각하면 AWR로 특정 시간대의 장애문제를 해석하는 것이 어려울 수도 있다.
  
  
 ===== OWI 데이타수집 ===== ===== OWI 데이타수집 =====
 ==== Logoff Trigger ==== ==== Logoff Trigger ====
 +  - 세션이 로그오프될때 V$SESSION_EVENT, V$SESTAT 뷰 등에 캡쳐해서 저장하는 기법
 +  - 단순한 세션을 제외하고는 의미가 없다.
 +
 ==== SQL을 이용한 주기적인 수집 ==== ==== SQL을 이용한 주기적인 수집 ====
 +
 +  - 몇 분을 주기로 필요한 OWI 관련 데이터를 SQL문장을 통해 수집하는 기법
 +  - 수집주기가 길고, 성능문제 발생시에는 SQL 문장자체가 실행되지 않을 수 있어 정애분석용으로 사용할 수 없다.
 +
 ==== AWR(Automatic Workload Repository) ==== ==== AWR(Automatic Workload Repository) ====
 +  - 오라클에 의해 자동적으로 성능데이터가 관리된다.
 +  - SQL을 이용한 주기적인 수집보다는 훨씬 가볍고 안정적이지만 \\ 데이터를 저장하는 방식으로 인해 수집주기를 필요한만큼 짧게 할 수 없다. 
 +
 ==== DMA(Direct Memory Access) ==== ==== DMA(Direct Memory Access) ====
  
 +  - 오라클이 사용하는 SGA영역을 직접 Access 해서 필요한 데이타를 수집하는 방법
 +  - AWR과 달리 원하는 데이터를 원하는 주기로 저장할 수 있기 때문에 가장 유연하고 강력한 기법이다.
 +  - Maxgauge 등 일부 성능 모니터링 툴에서 이 기법을 이용하여 프로그램을 제공하고 있다.
  
  
줄 82: 줄 140:
 ===== 기타 ===== ===== 기타 =====
  
 +  - 추가적으로 알아야 할 내용들이다.
  
 ==== PL/SQL ==== ==== PL/SQL ====
 +
 +=== 아래의 패키지 사용법은 어느정도 알고 있어야 한다 ===
 +
 +  - dbms_output
 +  - dbms_rowid
 +  - dbms_job 등
 +
 ==== 스크립트들 ==== ==== 스크립트들 ====
  
 +=== http://asktom.oracle.com 에서 받을 수 있다. ===
 +
 +  - show_space
 +  - print_table
 +
 +=== 기타 스크립트 ===
  
 +  - my_sess_event.sql
 +  - show_param.sql
 +  - system_event.sql
 +  - sesstat.sql
 +  - undosize.sql
study/oracle/adv_owi_10g/intro.1248151810.txt.gz · 마지막으로 수정됨: 2009/07/21 13:50 저자 starlits