AWR DB 보고서 분석.

Slides:



Advertisements
Similar presentations
MySeek 시스템 소개 ㈜마이씨크. 2 Contents MySeek System 개요 MySeek System 기능도 MySeek System 기능 MySeek System 특징 MySeek 검색기능 MySeek 활용시 장점 Reference Site.
Advertisements

2001 OUTLET SAP-SQL Server 64bit 구축 사례 한기영 대리 eBusiness Team 2001OUTLET.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
0 Sytem Architecture Eric Lim AKAON. 1/44 Ⅰ. 아키텍처 개요 Ⅱ. 아키텍처 물리 설계 Ⅲ. 아키텍처 구성도 ( 예 ) Ⅳ. 고려사항.
더존다스 경영전략과 비젼 1 ERP 개발부문
1 Orange Part II WareValley. 2 Loader Tool 3 Loader Tool 실행.
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
SQL Server 2000 트랜잭션과 잠금 데브피아 세미나
화일구조.
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.
DB2 Information Management DB2 UDB CLP Command Summary.

SAP Tuning 실무 교육 목 차 1. SAP Architecture 의 이해 2. Monitoring 3. Tuning 방법 결정 (DB or ABAP) 4. Performance Trace (DB) 5. Run Time Analysis (CPU)
오라클 데이터베이스 성능 튜닝.
기술 표준 6대 필수 기술 요소에 대해 지정한 그룹 IT 기술 표준에 따라 DBMS는 MS SQL과 Oracle에 대해 검토 함 구분 OS DBMS WAS Web Sever 검토대상 종합의견 x86 기반 OS(64bit 권장) 성능, 안정성 및 HW의 확장성 향상으로.
ORANGE 5.0 Get Started Created :
Oracle10g 데이터 관리 데이터 동기화 오라클 데이터 공유방안 Materialized View
데이터 모델링 방법론 2003년 03월.
DRIMS-Cloud 소개.
SQL Server 2000 HA & DR Solutions
제 2장 컴퓨터 구조.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
HP ESSO Consulting Glance Manual
안재훈 기업고객사업본부/기술사업부 한국마이크로소프트
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
2009/10/15 Hong, Mee Hee GTS. MTS. , IBM Korea
Operating Systems Overview
MySQL performance Xhark 김재홍.
Toad for Oracle 설치 방법.
EM 을 이용한 오라클 DataGuard 구성방안 (RAC + EM + DataGuard)
Uniprocessor Scheduling
운영체제 (Operating Systems)
프로세스 관리.
12. 데이터베이스 설계.
Chapter 01 데이터베이스 시스템.
오라클 데이터베이스 성능 튜닝.
RAC설계 및 Backup.
6장. 기 억 장 치 Lecture #6.
장윤석과장 Technology Specialist (주)한국마이크로소프트
오라클 데이터베이스 성능 튜닝.
SunnyKwak (sunnykwak.egloos.com) 2005년 2월 1일
ER-Win 사용 방법.
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
YOU Youngseok 트랜잭션(Transaction) YOU Youngseok
Chapter 10. 파일 시스템 인터페이스(File System Interface)
파일 시스템 인터페이스(File System Interface)
목차 회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션
Computer System Architecture
강사: 이종인 다우 교육원 전임강사 / 온디멘드 수석 컨설턴트 / FMG 수석 컨설턴트
SQL Server 7.0 세미나 (Performance Tuning)
제10,11,12장 파일시스템 디스크 스케줄링.
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
Design of Flash-Based DBMS: An In-Page Logging Approach
제 20 장 오라클에서 회복 및 백업 기능.
자바네트워크 제15주 Java NIO 버퍼, 채널, 셀렉터.
기억장치 관리(Memory Management)
운영체제 (Operating Systems) (Memory Management Strategies)
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
Chapter 12 Memory Organization
10장. 회복과 병행 제어 트랜잭션 장애와 회복 병행 제어.
MS-SQL7.0 Implementation 강의 노트
23. Unix 시스템 커널. 개요 커널의 기본 서비스 커널의 특징 참고서적 프로세스 관리 장치 관리 파일 관리 가상 메모리
화일구조.
CHAPTER 04 파일 설계(FiLE Design).
기억장치 관리(Memory Management)
데이터 베이스의 내부 구조.
가상 기억장치 (Virtual Memory)
Presentation transcript:

AWR DB 보고서 분석

1. AWR DB 보고서 1. 개요 ■ 요약 보고서 – AWR 수행 정보 및 인스턴스 환경, 상태를 요약해서 보여주며, 이 를 통해 문제 파악 및 해결 방향을 빠르게 설정할 수 있다. ■ 상세 보고서 –DB 상태를 각 항목별로 상세히 보여주며, 이를 통해 문제에 대한 상세 분석을 할 수 있다.

1. 요약 보고서 ■ 스냅샷 구간의 인스턴스 정보 및 문제 발생 여부의 빠른 파악 ■ 문제 해결 방향 설정 항목 보고서 1. 요약 보고서 1. 개요 항목 보고서 DB 환경 처음부터 Cache Size 단위 보고서 전까지 부분 메모리 Cache Size, Instance Efficiency Percentages (Target 100%), 부하 발생 Load Profile 대기 이벤트 Top 5 Timed Events RAC Global Cache Load Profile, Global Cache Efficiency Percentages (Targetlocal+remote 100%), Global Cache and Enqueue Services - Workload Characteristics, Global Cache and Enqueue Services - Messaging Statistics ■ 스냅샷 구간의 인스턴스 정보 및 문제 발생 여부의 빠른 파악 ■ 문제 해결 방향 설정

1. 요약 보고서 2. 인스턴스 정보 ■ AWR DB 보고서에서 가장 처음 나오는 부분이며 스냅샷이 수행된 인스턴스 정보가 표시된다. 데이터베이스의 가장 기초적인 정보를 파악할 수 있다.

1. 요약 보고서 3. AWR 스냅샷 정보 ■ AWR 스냅샷 구간 정보를 보여줌

1. 요약 보고서 4. Cache Size ■ 시작 및 종료 스냅샷 수행 시 SGA 설정 값이다. 버퍼 캐시와 공유 풀의 크기는 SGA 자동관리 기능을 사용하는 경우 시작 스냅샷의 값 과 종료 스냅샷의 값이 틀려질 수 있다.

1. 요약 보고서 ■ Load Profile 단위 보고서는 스냅샷 구간 중 DB에 발생한 부하에 대한 정보를 보여준다. 1. 요약 보고서 5. Load Profile ■ Load Profile 단위 보고서는 스냅샷 구간 중 DB에 발생한 부하에 대한 정보를 보여준다. ■ 이 보고서에 나타난 수치는 DB 튜닝 필요성 유무를 판단하기 보다는 해당 구간에 발생한 부하량 파악 및 비 정상적인 구간과의 비교를 위해 사용된다.

1. 요약 보고서 ■ 1st Per Sec: 베이스 라인 구간 2nd Per Sec: 문제 발생 구간 1. 요약 보고서 5. Load Profile ■ 1st Per Sec: 베이스 라인 구간 2nd Per Sec: 문제 발생 구간 ■ 문제 원인: 전체 발생 부하 증가 및 이로 인한 데이터 변경 과 I/O 발 생량 증가

1. 요약 보고서 ■ 스냅샷 구간 중 메모리 사용 효율을 보여준다 1. 요약 보고서 6. Instance Efficiency Percentages (Target 100%) ■ 스냅샷 구간 중 메모리 사용 효율을 보여준다

1. 요약 보고서 7. Top 5 Timed Events ■ Wait Events 단위 보고서에 CPU 사용시간을 포함한 값으로 각 이 벤트 별 소요 시간 기준으로 상위 5개를 보여준다 ■ 수행시간 = CPU 사용시간 + 대기시간 ■ 성능 저하 원인 - CPU 경합으로 인한 CPU 처리시간 지연 - CPU 경합 외의 경합으로 대기시간 증가

1. 요약 보고서 7. Top 5 Timed Events ■ CPU 경합으로 인한 CPU 처리시간 지연

1. 요약 보고서 ■ CPU 경합으로 인한 CPU 처리시간 지연 - UNIX 명령으로 CPU 대기열 길이를 확인 1. 요약 보고서 7. Top 5 Timed Events ■ CPU 경합으로 인한 CPU 처리시간 지연 - UNIX 명령으로 CPU 대기열 길이를 확인 ■ CPU 경합 발생 시 해결 방법 - OS 튜닝 - DB 튜닝 - SQL 튜닝 - CPU 증설

1. 요약 보고서 7. Top 5 Timed Events ■ CPU 경합으로 인한 CPU 처리시간 지연

1. 요약 보고서 ■ RAC 관련 요약 보고서가 시작되는 부분이다. 통계가 수집된 DB의 정보와 수집된 스냅샷 구간을 보여준다 1. 요약 보고서 8. RAC Statistics ■ RAC 관련 요약 보고서가 시작되는 부분이다. 통계가 수집된 DB의 정보와 수집된 스냅샷 구간을 보여준다

1. 요약 보고서 ■ RAC 환경에서 인스턴스간 주고 받은 트래픽 양을 파악할 수 있다 1. 요약 보고서 9. Global Cache Load Profile ■ RAC 환경에서 인스턴스간 주고 받은 트래픽 양을 파악할 수 있다 ■ 인스턴스 트래픽양은 인스턴스간 주고받은 메모리 블록과 메시지의 수의 총합이다.

1. 요약 보고서 ■ RAC 환경에서 버퍼 캐시 적중률 파악 가능 1. 요약 보고서 10. Global Cache Efficiency Percentages (Target local+remote 100%) ■ RAC 환경에서 버퍼 캐시 적중률 파악 가능

1. 요약 보고서 ■ 이 단위 보고서로 RAC 트래픽 중 메모리 블록의 전송 속도를 확인할 수 있다 1. 요약 보고서 11. Global Cache and Enqueue Services - Workload Characteristics ■ 이 단위 보고서로 RAC 트래픽 중 메모리 블록의 전송 속도를 확인할 수 있다

1. 요약 보고서 ■ 항목별 오라클 RAC 전송 권장치 항목 권장치 (ms) 1. 요약 보고서 11. Global Cache and Enqueue Services - Workload Characteristics ■ 항목별 오라클 RAC 전송 권장치 항목 권장치 (ms) Avg global enqueue get time (ms) 30 이하 Avg global cache cr block send time (ms) 10 이하 Avg global cache cr block receive time (ms) 12 이하 Avg global cache current block send time (ms) 23 이하 Avg global cache current block receive time (ms)

1. 요약 보고서 ■ RAC 트래픽 중 메시지 전송에 대한 성능 수치를 보여준다 1. 요약 보고서 12. Global Cache and Enqueue Services - Messaging Statistics ■ RAC 트래픽 중 메시지 전송에 대한 성능 수치를 보여준다

2. 상세 보고서 1. 개요 항목 보고서 대기 이벤트 Wait Class, Waits Events, Background Wait Events 자원 사용 Time Model Statistics, Operating System Statistics, Service Statistics, Service Wait Class Stat, Instance Activity Stats, Instance Activity Stats - Absolute ValuesDB/Inst, Instance Activity Stats - Thread ActivityDB/Inst, Resource Limit Stats SQL SQL ordered by Elapsed Time, SQL ordered by CPU Time, SQL ordered by Gets, SQL ordered by Reads, SQL ordered by Executions, SQL ordered by Parse Calls, SQL ordered by Sharable Memory, SQL ordered by Version Count, SQL ordered by Cluster Wait Time I/O Tablespace IO Stats, File IO Stats 메모리 SGA Buffer Pool Statistics, Buffer Pool Advisory, Shared Pool Advisory, SGA Target Advisory, Streams Pool Advisory, Java Pool Advisory, Buffer Wait Statistics, Dictionary Cache Stat, Dictionary Cache Stats (RAC), Library Cache Activity, Library Cache Activity (RAC), SGA Memory Summary, SGA breakdown difference, PGA PGA Aggr Summary, PGA Aggr Target Stats, PGA Aggr Target Histogram, PGA Memory Advisory, Process Memory Summary, 컨트롤 파일 Instance Recovery Stats 락 Enqueue Activity, Latch Activity, Latch Sleep Breakdown, Latch Miss Sources, Parent Latch Statistics, Child Latch Statistics 언두 Undo Segment Summary, Undo Segment Stats 세그먼트 Segments by Logical Reads, Segments by Physical Reads, Segments by Row Lock Waits, Segments by ITL Waits, Segments by Buffer Busy Waits, Segments by Global Cache Buffer Busy, Segments by CR Blocks Received, Segments by Current Blocks Received 스트림즈 Streams CPU/IO Usage, Streams Capture, Streams Apply, Buffered Queues, Buffered Subscribers, Rule Set 환경설정 init.ora Parameters RAC Global Enqueue Statistics, Global CR Served Stats, Global CURRENT Served Stats, Global Cache Transfer Stats

2. 상세 보고서 1. Time Model Statistics ■ Time Model Statistics 단위 보고서는 다음 두 부분으로 나뉜다. - 오라클 백그라운드 프로세스가 DB를 사용한 시간 - 오라클 서버 프로세스가 DB를 사용한 시간

2. 상세 보고서 1. Time Model Statistics ■ DB Time

2. 상세 보고서 1. Time Model Statistics ■ DB Time 구성 요소

2. 상세 보고서 ■ 스냅샷 구간 중 발생한 대기 이벤트의 수치를 클래스별로 파악할 수 있다 2. 상세 보고서 2. Wait Class ■ 스냅샷 구간 중 발생한 대기 이벤트의 수치를 클래스별로 파악할 수 있다 ■ 이는 대략적인 튜닝 포인트를 설정하는데 도움을 준다

2. 상세 보고서 ■ 스냅샷 구간 중 발생한 대기 이벤트의 수치를 파악할 수 있다 2. 상세 보고서 3. Wait Event ■ 스냅샷 구간 중 발생한 대기 이벤트의 수치를 파악할 수 있다 ■ 성능 문제 발생 지점을 파악하는데 도움을 준다

2. 상세 보고서 ■ 오라클이 OS를 사용하며 발생시킨 OS 통계정보를 보여준다 2. 상세 보고서 4. Operating System Statistics ■ 오라클이 OS를 사용하며 발생시킨 OS 통계정보를 보여준다 ■ 스냅 구간 사이의 OS사용 추세를 볼 수 있어 성능 분석 시 참고자료로 사 용할 수 있다

2. 상세 보고서 5. Service Statistics ■ 리스너를 이용하여 DB에 접속한 경우 – SERVICE_NAMES 초기화 파라미터 및 TNESNAMES.ORA 파일 의 SERVICE_NAME 값에 의해 설정 ■ 텔넷 등을 사용하여 DB에 직접 접속한 경우 – SYS$USERS로 설정 ■ 백그라운드 프로세스 – SYS$BACKGROUND로 설정

2. 상세 보고서 ■ 서비스 별 발생한 대기 이벤트를 이벤트 클래스별로 보여준다 2. 상세 보고서 6. Service Wait Class Stats ■ 서비스 별 발생한 대기 이벤트를 이벤트 클래스별로 보여준다

2. 상세 보고서 ■ 스냅샷 구간 중 수행된 SQL에 대하여 9가지 측면의 보고서를 제공 - 단위 SQL 수행 정보 파악 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ 스냅샷 구간 중 수행된 SQL에 대하여 9가지 측면의 보고서를 제공 - 단위 SQL 수행 정보 파악 - 문제 유발 SQL 파악 - SQL 추세 파악 ■ 문제 SQL - 해당 SQL을 사용하는 어플리케이션의 응답 속도가 목표 수준보다 낮 은 경우 - 다른 SQL의 수행 속도 및 자원사용에 악영향을 미치는 경우

2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ 해당 SQL을 사용하는 어플리케이션의 응답 속도가 목표 수준보다 낮 은 경우 - SQL 튜닝 - DB 오브젝트 튜닝 - 어플리케이션 로직 수정 - 어플리케이션 목표 시간 변경 ■ SQL 튜닝 - SQL 수행속도 점검만으로 문제 원인 파악 및 해결 가능 ■ SQL 튜닝 적용 못하는 경우 - 처리하는 데이터가 많은 경우 - 복잡한 데이터 가공을 하는 경우 ■ 오브젝트 튜닝 - 파티션, Materialized View 적용 등등

2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ 어플리케이션 로직 수정 - 1개 이상의 SQL이 모여서 하나의 트랜잭션을 이루는 경우 - 명시적 커서를 오픈 시켜서 반복적인 페치로 데이터 처리 - 어플리케이션 명령어로 특정 SQL 반복 수행

2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ 자신의 목표 수행 시간은 만족 시키나, 다른 SQL의 수행시간에 영향을 주 는 경우 - 과도하게 CPU를 점유하여 CPU 과부하를 초래하는 경우 - 과도하게 버퍼 캐시 I/O를 발생 시켜 읽어서 버퍼 캐시 사용 경합을 발 생시키는 경우 - 과도하게 디스크 I/O를 유발 시켜서 디스크 I/O속도와 버퍼 캐시 적중 률을 저하 시키는 경우 ■ 해결 방법 - SQL 튜닝 - 문제 SQL 수행 시간 조정 - 시스템 증설

2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL 추세 분석 - 시간의 경과가 SQL 수행에 미치는 영향도 파악

2. 상세 보고서 ■ SQL ordered by Elapsed Time ■ 점검 항목 - Elap per Exec (s) 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Elapsed Time ■ 점검 항목 - Elap per Exec (s) - Elapsed Time (s) 값과 CPU Time (s) 값의 차이 - Executions 과 % Total DB Time

2. 상세 보고서 ■ SQL ordered by CPU Time ■ 점검 항목 - CPU Time (s) 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by CPU Time ■ 점검 항목 - CPU Time (s) - CPU per Exec (s)

2. 상세 보고서 ■ SQL ordered by Gets ■ 점검 항목 - Get per Exec 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Gets ■ 점검 항목 - Get per Exec - Executions와 % Total

2. 상세 보고서 ■ SQL ordered by Reads ■ 점검 항목 - Reads per Exec 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Reads ■ 점검 항목 - Reads per Exec - Executions와 % Total

2. 상세 보고서 ■ SQL ordered by Executions ■ 점검 항목 - Executions 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Executions ■ 점검 항목 - Executions - Rows per Exec

2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Parse Calls

2. 상세 보고서 ■ SQL ordered by Sharable Memory ■ 점검 항목 - Sharable Mem (b) 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Sharable Memory ■ 점검 항목 - Sharable Mem (b)

2. 상세 보고서 ■ SQL ordered by Version Count ■ 점검 항목 - Version Count 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Version Count ■ 점검 항목 - Version Count

2. 상세 보고서 ■ SQL ordered by Cluster Wait Time 2. 상세 보고서 7. SQL 수행정보 단위 보고서 ■ SQL ordered by Cluster Wait Time ■ 점검 항목 - CWT% of Elapsd Tim CWT% of Elapsd Tim

2. 상세 보고서 8. Instance Activity Stats ■ Instance Activity Stats 단위 보고서는 스냅샷 구간 중 DB에 수집된 통계 정보 수치를 보여준다 ■ 통계 정보는 인스턴스 운영 시 특정 작업이 수행되면 작업과 관련된 통계 수치가 증가하며, 그러므로 스냅샷 구간의 인스턴스 상태 분석 시 사용

2. 상세 보고서 ■ 통계 정보 중 특정 파라미터와 관련된 통계에 대한 수치를 보여준다 2. 상세 보고서 9. Instance Activity Stats - Absolute Values ■ 통계 정보 중 특정 파라미터와 관련된 통계에 대한 수치를 보여준다

2. 상세 보고서 ■ 리두 로그 스위치 횟수를 보여준다 ■ 로그 스위치 발생 시 쓰레드 체크포인트가 발생 2. 상세 보고서 10. Instance Activity Stats - Thread Activity ■ 리두 로그 스위치 횟수를 보여준다 ■ 로그 스위치 발생 시 쓰레드 체크포인트가 발생 ■ 쓰레드 체크포인트는 체크포인트 큐와 파일 큐에 링크된 더티 버퍼를 내려 쓰고, 모든 데이터 파일의 헤더를 갱신 시키므로 많은 I/O가 발생하게 된다 ■ 너무 잦은 로그 스위치 발생은 I/O 경합으로 이어질 수 있다.

2. 상세 보고서 ■ 리두 로그 버퍼 관련 대기 이벤트 - log buffer space - log file sync 2. 상세 보고서 10. Instance Activity Stats - Thread Activity ■ 리두 로그 버퍼 관련 대기 이벤트 - log buffer space - log file sync - log file switch completion - log file parallel write

2. 상세 보고서 ■ 특정 테이블스페이스 I/O 성능이 낮게 나온다면 다음을 점검 2. 상세 보고서 11. Tablespace IO Stats ■ 특정 테이블스페이스 I/O 성능이 낮게 나온다면 다음을 점검 - 테이블스페이스를 구성하는 데이터 파일들이 특정 볼륨 그룹으로 집중되어 있는가? - 테이블스페이스를 구성하는 데이터 파일들의 논리 볼륨은 스트라이핑 구성 을 가지는가? - 업무 특성상 해당 테이블스페이스에 존재하는 세그먼트들의 디스크 I/O 비중이 높은가? - 테이블스페이스에 저장된 세그먼트에 경합이 발생하고 있는가?

2. 상세 보고서 12. File IO Stats ■ 테이블스페이스의 I/O 집중은 크지 않은데 특정 데이터 파일에 대해서만 I/O 가 집중되는 경우 → 물리적인 I/O 발생이 높은 세그먼트의 익스텐트가 특정 데이터 파일에 집중적으로 할당 되어 있기 때문인 것으로 보아야 한다

2. 상세 보고서 12. File IO Stats

2. 상세 보고서 ■ 각 버퍼 풀의 크기의 적절성을 판단하고 각 버퍼 풀 영역이 효율적으로 사용 되고 있는 지를 확인 2. 상세 보고서 13. Buffer Pool Statistics ■ 각 버퍼 풀의 크기의 적절성을 판단하고 각 버퍼 풀 영역이 효율적으로 사용 되고 있는 지를 확인 ■ 100 X (1 – (PHYSICAL_READS / (DB_BLOCK_GETS + CONSISTENT_GETS))) ■ 버퍼 캐시 적중률 개선 방안 - 적절한 버퍼 캐시 크기 설정 - I/O 발생량이 높은 SQL 튜닝

2. 상세 보고서 ■ 버퍼 캐시 관련 이벤트 - buffer busy wait, read by other sessions 2. 상세 보고서 13. Buffer Pool Statistics ■ 버퍼 캐시 관련 이벤트 - buffer busy wait, read by other sessions - 해결 방법 ○ 핫 블록 경합 해결 ○ 자동 세그먼트 공간 관리(ASSM) 사용

2. 상세 보고서 13. Buffer Pool Statistics ■ 버퍼 캐시 관련 이벤트 - gc buffer busy - buffer busy waits 및 read by other session 과 동일한 원인 - free buffer waits, write complete waits - 해결 방법 ○ DBWR 수 증가 ○ 디스크 성능 개선

2. 상세 보고서 14. Instance Recovery Stats ■ 인스턴스 복구 관련 정보를 보여준다

2. 상세 보고서 15. Buffer Pool Advisory ■ 버퍼 캐시 크기 변경에 따른 영향도를 파악

2. 상세 보고서 16. PGA Aggr Summary ■ 스냅 구간 중 PGA 사용 효율을 보여준다

2. 상세 보고서 17. PGA Aggr Target Stats ■ 스냅샷 시작과 끝 시점의 PGA 사용 정보를 보여준다

2. 상세 보고서 ■ 스냅샷 구간 중 SQL 작업 영역의 사용 현황을 파악할 수 있게 해준다 2. 상세 보고서 18. PGA Aggr Target Histogram ■ 스냅샷 구간 중 SQL 작업 영역의 사용 현황을 파악할 수 있게 해준다

2. 상세 보고서 19. PGA Memory Advisory ■ PGA 크기 변경 시 예상되는 사용 효율을 나타낸다

2. 상세 보고서 19. PGA Memory Advisory ■ 500 ~ 900MB 사이가 비용 대비 효과가 가장 크다

2. 상세 보고서 20. Shared Pool Advisory ■ 공유 풀 크기에 따른 영향도를 보여준다

2. 상세 보고서 21. SGA Target Advisory ■ SGA 크기에 따른 영향도를 보여준다

2. 상세 보고서 22. Java Pool Advisory ■ Java Pool 크기에 따른 영향도를 보여준다

2. 상세 보고서 ■ 데이터 블록 클래스별로 경합이 발생한 대기 이벤트가 발생한 횟수를 보여 준다 2. 상세 보고서 23. Buffer Wait Statistics ■ 데이터 블록 클래스별로 경합이 발생한 대기 이벤트가 발생한 횟수를 보여 준다

2. 상세 보고서 23. Buffer Wait Statistics ■ 블록 클래스 별 해결 방법 - data block - segment header - 1st level bmb, 2nd level bmb, 3rd level bmb - undo header block - undo block

2. 상세 보고서 ■ 엔큐 락 수행 통계를 타입 별로 보여준다 ■ Wait Stat 단위 보고서에서도 확인할 수 있다 2. 상세 보고서 24. Enqueue Activity ■ 엔큐 락 수행 통계를 타입 별로 보여준다 ■ Wait Stat 단위 보고서에서도 확인할 수 있다

2. 상세 보고서 ■ Wait Events 단위 보고서에서 엔큐 관련 대기 이벤트가 상위에 위치 함 2. 상세 보고서 24. Enqueue Activity ■ Wait Events 단위 보고서에서 엔큐 관련 대기 이벤트가 상위에 위치 함 ■ 엔큐 관련 통계 및 대기 이벤트 수치가 정상일 때와 비교하여 높은 수치로 증가 ■ 특정 SQL 수행 시 엔큐 관련 대기 이벤트가 높은 수치로 발생

2. 상세 보고서 24. Enqueue Activity ■ HW-Segment High Water Mark (enq: HW – contention) - HWM 이동 시 락 경합 발생 - 해결 방법 ○ 자동 세그먼트 공간 관리 사용 ○ 익스텐트 크기를 크게 설정 ○ 익스텐트 수동 할당 ■ TM-DML (enq: TM – contention) - 기본/외래 키가 설정한 테이블에서 외래 키에 인덱스가 생성되지 않은 경우 - DML을 수행하려고 하는 테이블에 병렬 DML 및 DIRECT INSERT를 수행 - LOCK 명령으로 사용자가 명시적으로 테이블 락 적용 - 인덱스 생성, 테이블 변경 등 세그먼트 변경 작업 수행 - 해결방법 ○ 문제 원인 세션의 작업이 종료 될 때까지 대기 ○ 문제 원인 세션 KILL

2. 상세 보고서 24. Enqueue Activity ■ TX-Transaction (row lock contention) (enq: TX - row lock contention) - 서로 다른 세션이 같은 데이터를 UPDATE, DELETE 하려는 경우 - 유니크 인덱스가 설정된 칼럼에 서로 다른 세션이 같은 데이터를 INSERT 하 려는 경우 - 비트맵 인덱스가 설정된 칼럼에 과도한 DML 부하가 발생하는 경우 - 해결 방법 ○ 행 락을 획득하고 있는 세션 KILL ○ 다른 세션의 트랜잭션 완료 시까지 대기 ○ 비트맵 인덱스 문제 해결

2. 상세 보고서 24. Enqueue Activity ■ TX-Transaction (index contention) (enq: TX - index contention) - B*Tree 인덱스 구조

2. 상세 보고서 24. Enqueue Activity ■ TX-Transaction (index contention) (enq: TX - index contention) - B*Tree 인덱스 INSERT

2. 상세 보고서 24. Enqueue Activity ■ TX-Transaction (index contention) (enq: TX - index contention) - 발생 원인 ○ 인덱스 분기 ○ Right Growing Index - 해결 방법 ○ 인덱스 블록 크기 확장 ○ 파티션 적용 ○ 더미 데이터 INSERT 후 삭제 ○ 역 방향 키 인덱스(Reverse Key Index)로 전환 ○ 해시 파티션 적용 ○ 인덱스 칼럼 추가

2. 상세 보고서 24. Enqueue Activity ■ TX-Transaction (allocate ITL entry) (enq: TX - allocate ITL entry) - 해결 방법 ○ INITRANS 옵션 조정 ■ US-Undo Segment (enq: US – contention) ■ WF-AWR Flush (enq: WF – contention)

2. 상세 보고서 ■ 언두 세그먼트 사용 통계를 보여 준다 2. 상세 보고서 25. Undo Segment Summary ■ 언두 세그먼트 사용 통계를 보여 준다 ■ 언두 세그먼트 튜닝 목표 - ORA-1555 snapshot too old 에러 발생 최소화 - 트랜잭션 양에 맞는 충분한 언두 테이블스페이스 확보 - 언두 관련 대기 이벤트 최소화

2. 상세 보고서 ■ 렛치 사용과 관련된 통계 정보를 보여준다 2. 상세 보고서 26. Latch Activity ■ 렛치 사용과 관련된 통계 정보를 보여준다 ■ 렛치 실패 영향도 - 렛치 획득 실패로 인한 성능 저하 - CPU 경합 유발

2. 상세 보고서 ■ 렛치 통계 정보를 스핀 발생량 기준으로 보여준다 2. 상세 보고서 27. Latch Sleep Breakdown ■ 렛치 통계 정보를 스핀 발생량 기준으로 보여준다 ■ 렛치 경합 해결 방법 - _SPIN_COUNT 조정 - 렛치 경합 원인 해결

2. 상세 보고서 27. Latch Sleep Breakdown ■ 렛치 경합 원인 해결 - cache buffers chains (latch : cache buffers chains) - cache buffers lru chain (latch : cache buffers lru chain) - In-memory undo (latch: In-memory undo) - library cache (latch: library cache) - shared pool (latch: shared pool) - row cache object (latch: row cache objects) - redo allocation (latch : redo allocation) - redo copy (latch : redo copy) - redo writing (latch : redo writing)

2. 상세 보고서 28. Latch Miss Sources ■ 렛치 획득을 실패한 정확한 위치를 보여준다

2. 상세 보고서 29. Parent Latch Statistics ■ 부모 렛치의 통계 정보를 보여준다

2. 상세 보고서 30. Child Latch Statistics ■ 자식 렛치의 통계 정보를 보여준다

2. 상세 보고서 31. Segments by Logical Reads ■ 버퍼 캐시 I/O 발생 상위 오브젝트를 보여준다

2. 상세 보고서 32. Segments by Physical Reads ■ 디스크 I/O 발생 상위 오브젝트를 보여준다

2. 상세 보고서 33. Segments by Row Lock Waits ■ 행 락 발생 상위 오브젝트를 보여준다

2. 상세 보고서 34. Segments by ITL Waits ■ enq: TX - allocate ITL entry 대기 이벤트를 발생시키는 행락 발생 상위 오브젝트를 보여준다

2. 상세 보고서 ■ buffer busy waits 대기 이벤트 발생 관련 오브젝트를 보여준다 2. 상세 보고서 35. Segments by Buffer Busy Waits ■ buffer busy waits 대기 이벤트 발생 관련 오브젝트를 보여준다

2. 상세 보고서 ■ gc buffer busy 대기 이벤트 발생 관련 오브젝트를 보여준다 2. 상세 보고서 36. Segments by Global Cache Buffer Busy ■ gc buffer busy 대기 이벤트 발생 관련 오브젝트를 보여준다

2. 상세 보고서 ■ 글로벌 읽기 일관성 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다 2. 상세 보고서 37. Segments by CR Blocks Received ■ 글로벌 읽기 일관성 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다

2. 상세 보고서 ■ 글로벌 현재 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다 2. 상세 보고서 38. Segments by Current Blocks Received ■ 글로벌 현재 버퍼 캐시의 수신 횟수로 내림차순 정렬하여 보여준다

2. 상세 보고서 ■ 공유 풀의 로우 캐시 영역 사용 통계정보를 보여준다 2. 상세 보고서 39. Dictionary Cache Stats ■ 공유 풀의 로우 캐시 영역 사용 통계정보를 보여준다 ■ 공유 캐시 영역을 확장하기 위해서는 공유 풀 전체 크기 를 늘려줘야 한다 ■ 우선 하드 파스 문제를 해결 하고 공유 풀 크기를 늘려가 면서 로우 캐시의 적중률을 기준으로 공유 풀의 크기를 결정하여야 한다

2. 상세 보고서 ■ RAC 관련 로우 캐시 영역 사용 통계정보를 보여준다 2. 상세 보고서 40. Dictionary Cache Stats (RAC) ■ RAC 관련 로우 캐시 영역 사용 통계정보를 보여준다

2. 상세 보고서 ■ 라이브러리 캐시의 통계 정보를 보여준다 2. 상세 보고서 41. Library Cache Activity ■ 라이브러리 캐시의 통계 정보를 보여준다 ■ 라이브러리 캐시에 저장된 오브젝트 타입에 따라서 네임스페이스가 분류된다 ■ OLTP 시스템에서는 Miss 율은 5% 이하의 최대한 낮은 값을 가져야 한다 ■ 리아브러리 캐시 관련 이벤트 - library cache lock, library cache pin

2. 상세 보고서 ■ 라이브러리 캐시의 통계 정보를 보여준다 2. 상세 보고서 42. Library Cache Activity (RAC) ■ 라이브러리 캐시의 통계 정보를 보여준다 ■ 라이브러리 캐시에 저장된 오브젝트 타입에 따라서 네임스페이스가 분류된다 ■ OLTP 시스템에서는 Miss 율은 5% 이하의 최대한 낮은 값을 가져야 한다 ■ 리아브러리 캐시 관련 이벤트 - library cache lock - library cache pin

2. 상세 보고서 ■ 프로세스 카테고리별로 할당 받은 PGA 메모리의 크기를 확인할 수 있다 2. 상세 보고서 43. Process Memory Summary ■ 프로세스 카테고리별로 할당 받은 PGA 메모리의 크기를 확인할 수 있다

2. 상세 보고서 44. SGA Memory Summary ■ SGA의 각 영역 크기 확인

2. 상세 보고서 45. SGA breakdown difference ■ SGA 각 풀 영역에 대한 free memory 뿐만 아니 라 각 세부 영역별로 할당된 크기를 확인할 수 있다

2. 상세 보고서 ■ 최대 사용 리소스 개수가 한계 리소스 개수의 80%이상 사용된 리소 스를 보여준다 2. 상세 보고서 46. Resource Limit Stats ■ 최대 사용 리소스 개수가 한계 리소스 개수의 80%이상 사용된 리소 스를 보여준다

2. 상세 보고서 47. init.ora Parameters ■ 초기화 파리미터 설정값을 보여준다

2. 상세 보고서 47. Global Enqueue Statistics ■ RAC 앤큐 락 관련 통계 수치를 보여준

2. 상세 보고서 48. Global CR Served Stats ■ 읽기 일관성 블록의 캐시 퓨전 관련 통계 정보를 보여준다

2. 상세 보고서 ■ 현재 블록의 캐시 퓨전 관련 통계 정보를 보여준다 2. 상세 보고서 49. Global CURRENT Served Stats ■ 현재 블록의 캐시 퓨전 관련 통계 정보를 보여준다

2. 상세 보고서 99. Global Cache Transfer Stats ■ 캐시 퓨전관련 통계 수치를 보여준다

AWR DB 보고서 분석 사례연구

2. 상세 보고서 ■ 성능 저하 어플리케이션을 정확히 파악하고 있음 ■ enqueue 렛치 경합이 발생함 2. 상세 보고서 INSERT 과부하로 SQL 성능 저하 발생 ■ 성능 저하 어플리케이션을 정확히 파악하고 있음 ■ enqueue 렛치 경합이 발생함 ■ 특정 시간대에만 렛치 경합이 발생하며 성능이 저하 됨

2. 상세 보고서 ■ 성능 저하 어플리케이션을 정확히 파악하고 있음 ■ enqueue 렛치 경합이 발생함 2. 상세 보고서 INSERT 과부하로 SQL 성능 저하 발생 ■ 성능 저하 어플리케이션을 정확히 파악하고 있음 ■ enqueue 렛치 경합이 발생함 ■ 특정 시간대에만 렛치 경합이 발생하며 성능이 저하 됨

2. 상세 보고서 INSERT 과부하로 SQL 성능 저하 발생

2. 상세 보고서 INSERT 과부하로 SQL 성능 저하 발생

SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하 2. 상세 보고서 SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하

SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하 2. 상세 보고서 SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하

SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하 2. 상세 보고서 SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하

SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하 2. 상세 보고서 SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하

SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하 2. 상세 보고서 SQL PLAN 변경으로 버퍼 캐시 I/O가 대량 발생하며 성능 저하

서로 다른 배치 작업 동시 수행으로 인한 성능 저하 2. 상세 보고서 서로 다른 배치 작업 동시 수행으로 인한 성능 저하

서로 다른 배치 작업 동시 수행으로 인한 성능 저하 2. 상세 보고서 서로 다른 배치 작업 동시 수행으로 인한 성능 저하

서로 다른 배치 작업 동시 수행으로 인한 성능 저하 2. 상세 보고서 서로 다른 배치 작업 동시 수행으로 인한 성능 저하

서로 다른 배치 작업 동시 수행으로 인한 성능 저하 2. 상세 보고서 서로 다른 배치 작업 동시 수행으로 인한 성능 저하 ■ 상위 10개 테이블에 로우 캐시 렛치 경합이 집중되고 있음 ■ 일 배치 SQL에서 로우 캐시 렛치 경합 집중적으로 발생하고 있음 ■ 일 배치 SQL은 로우 캐시 렛치 경합이 집중해서 발생하는 상위 10개 테이블(이하 상위 10개 테이블)을 검색 하거나 DML작업을 발생 시킴 ■ 일 배치 SQL이 검색 및 변경하는 테이블의 데이터의 증가 폭은 크지 않음   이벤트가 집중되는 상위 10개 테이블의 특성을 파악하기 위해 각 어플리케이션 담당자에게 물어 본 결과 다음과 같은 특징을 찾아냄 ■ 해당 테이블들은 업무시간 중 DML이 빈번히 발생하는 주요 테이블임. ■ 최근 들어서 데이터의 증가로 한 트랜잭션이 50 ~ 200건 이상 변경시키는 경우가 많이 증가하였음

서로 다른 배치 작업 동시 수행으로 인한 성능 저하 2. 상세 보고서 서로 다른 배치 작업 동시 수행으로 인한 성능 저하

지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하 2. 상세 보고서 지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하

지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하 2. 상세 보고서 지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하

지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하 2. 상세 보고서 지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하 ■ 상위 10개 테이블에 로우 캐시 렛치 경합이 집중되고 있음 ■ 일 배치 SQL에서 로우 캐시 렛치 경합 집중적으로 발생하고 있음 ■ 일 배치 SQL은 로우 캐시 렛치 경합이 집중해서 발생하는 상위 10개 테이블(이하 상위 10개 테이블)을 검색 하거나 DML작업을 발생 시킴 ■ 일 배치 SQL이 검색 및 변경하는 테이블의 데이터의 증가 폭은 크지 않음   또한 이벤트가 집중되는 상위 10개 테이블의 특성을 파악하기 위해 각 어플리케이션 담당자에게 물어 본 결과 다음과 같은 특징을 찾아 내었다. ■ 해당 테이블들은 업무시간 중 DML이 빈번히 발생하는 주요 테이블임. ■ 최근 들어서 데이터의 증가로 한 트랜잭션이 50 ~ 200건 이상 변경시키는 경우가 많이 증가하였음

지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하 2. 상세 보고서 지연된 블록 크린 아웃으로 인한 배치 작업 성능 저하