오라클 데이터베이스 성능 튜닝.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
Copyright © 2005, Oracle. All rights reserved Oracle Structures.
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
1 Orange Part II WareValley. 2 Loader Tool 3 Loader Tool 실행.
D-Guard Security Suites 제품 소개서
오라클 백업과 복구.
제 3장 오라클 소개 오라클 소개 오라클 설치 방법 오라클 구조 제 3 장 오라클 개요.

1. 개발 시스템 개요.
Data Interface, Data mart Technology
경영 정보 시스템 구축 제안서 가우정보기술주식회사 [신화 제약 주식회사] 1997년 10월 9일 새로운 기법
기술 표준 6대 필수 기술 요소에 대해 지정한 그룹 IT 기술 표준에 따라 DBMS는 MS SQL과 Oracle에 대해 검토 함 구분 OS DBMS WAS Web Sever 검토대상 종합의견 x86 기반 OS(64bit 권장) 성능, 안정성 및 HW의 확장성 향상으로.
데이터 모델링 방법론 2003년 03월.
DRIMS-Cloud 소개.
경영 정보 시스템 구축 제안서 가우정보기술주식회사 [신화 제약 주식회사] 1997년 10월 9일 새로운 기법 철저한 사후 관리
RFID기술 적용을 통한 소형선박 안전관리체계 개선방안 연구(최종보고회) 선박안전기술공단.
AWR DB 보고서 분석.
Overview of Oracle Database
Toad for Oracle 설치 방법.
EM 을 이용한 오라클 DataGuard 구성방안 (RAC + EM + DataGuard)
MySQL 및 Workbench 설치 데이터 베이스.
목차 백업과 복원.
Chapter 01 데이터베이스 시스템.
유비 쿼터스 시대의 선두주자 UMS 서버 구축 최고의 서비스를 제공하겠습니다..
NTAS 소개 (Network Transaction Application Server)
RAC설계 및 Backup.
장윤석과장 Technology Specialist (주)한국마이크로소프트
Make a Real DBA 오라클 데이터베이스 관리시스템 아키텍처 ㈜ 신한시스템즈 김 종 근.
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2-1 PGA(Program Global Area)의 개념
Oracle DBMS 설치.
SunnyKwak (sunnykwak.egloos.com) 2005년 2월 1일
선진사 Benchmarking 결과보고 통합 ERP 구축 전담반.
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
(Network Transaction Application Server)
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Chapter 10. 파일 시스템 인터페이스(File System Interface)
5장 Mysql 데이터베이스 한빛미디어(주).
Grade Server Team14. Attention Seeker
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
제 20 장 오라클에서 회복 및 백업 기능.
개인정보 유출 및 그에 따른 책임 확대 개인 정보 데이터 유출사례 점점 증가 데이터 유출에 따른 기업의 책임 확대
1조 김성수 백현기 석광우 김지원 박광연.
Smart Workplace 개발자 가이드
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
NTAS 소개 (Network Transaction Application Server)
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
Oracle Architecture Reference - 이정규 강사님의 7월 BPAN 부산 강의 자료
데이터 베이스 DB2 관계형 데이터 모델 권준영.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
오라클 11g 보안.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
웹 애플리케이션 보안 Trend 인포섹㈜ 신수정 상무
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
차세대 뱅킹시스템 프로젝트의 DBMS 튜닝 이슈 극복 사례
CHAP 15. 데이터 스토리지.
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
Platform Builder 사용법.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
Presentation transcript:

오라클 데이터베이스 성능 튜닝

성능 저하의 원인이 되는 기업의 문제점 성능 저하의 원인이 되는 기업의 문제점 운영 혹은 개발 인력의 RDBMS에 대한 이해도 부족 짧은 개발기간과 적은 비용 산정으로 품질저하 DA(Data Architecture)의 중요성에 대한 인식 부족 DB 전문인력 부족 충분한 테스트 부족

좋은 성능을 위한 요소 좋은 성능을 위한 요소 DA 설계에 대한 중요성 인식 필요 RDBMS 대한 깊은 이해 충분한 테스트 수행 분석적 자료에 대한 정량화 작업 품질을 위한 투자

튜닝이란 튜닝이랑 사전적 의미 자동차나 오디오 따위의 일부분을 개조하는 일 악기의 음을 표준음에 맞추기 위한 조율 사전적 의미 자동차나 오디오 따위의 일부분을 개조하는 일 악기의 음을 표준음에 맞추기 위한 조율 IT적 의미 성능개선

튜닝 진행시 정해야 할 부분 튜닝 진행시 정해야 할 부분 누가 튜닝을 수행할 것인가 무엇을 튜닝할 것인가 어떻게 튜닝을 할 것인가

튜닝 방법론 튜닝 방법론 고객 Interview(문제점 도출) 자료 수집 및 분석(문제점 확인) Solution 도출 테스트 결과 분석 완료 혹은 2번에서 다시 시작

누가 튜닝을 수행할 것인가? 누가 튜닝을 수행할 것인가 Data Architecter DBA Application Architecter Application Designer Application Developer System Administrator Network Administrator

무엇을 튜닝할 것인가 무엇을 튜닝할 것인가 디자인 튜닝 Database의 경우 논리적, 물리적 Database 구조 DA 설계 테이블 레이아웃, 인덱스 설계 등

무엇을 튜닝할 것인가 무엇을 튜닝할 것인가 디자인 튜닝 Application의 경우 SQL 튜닝 코드의 최적화 프레임의 최적화 업무의 최적화

무엇을 튜닝할 것인가 무엇을 튜닝할 것인가 서버 튜닝 System 튜닝 Storage 튜닝 Network 튜닝 Middleware 튜닝 Database 튜닝

무엇을 튜닝할 것인가 잠재성능 영향도 분석 및 설계 애플리케이션 튜닝 (로직, SQL) 신규 H/W 구입 DB 서버 튜닝 O/S 튜닝

무엇을 튜닝할 것인가 구간별 성능관리 주요 관점 F LDEV Switch DBMS File System Device File R C1 C0 C2 Middle Ware Cache B Array Group S0 S1 S2 DB Server Storage Network Application

어떻게 튜닝을 할 것인가 어떻게 튜닝을 할 것인가 무엇을 튜닝할 것인가의 대상에 따라 다른 Tool을 사용하게 됨 Oracle Tool Third Party Tool

부하와 용량 부하와 용량 부하와 용량 간의 관계 교통으로 비유하자면 차선이 넓고 차량의 속도가 빠르면 사고 피해의 심각성은 커진다 차선이 넓고 차량의 속도가 빠르면 사고는 복구하기 어렵고 또한 심각한 정체를 유발한다. 그리고 차선이 넓고 차량의 속도가 빠르면 (대용량 시스템) 사전에 위험에 대한 철저한 대비만이 사고의 피해를 줄일 수 있다

부하와 용량 부하와 용량 부하와 용량이란 부하 : 차량의 수, 용량 : 차선의 수 부하와 용량이란 부하 : 차량의 수, 용량 : 차선의 수 현재의 상황 10개의 차선에서 10대의 차가 동시에 100km/h로 달릴 수 있다. 고속도로의 작은 정체가 극심한 정체를 발생함

부하와 용량 부하와 용량 부하와 용량관계 가장 좁은 곳이 전체의 용량을 결정하게 된다. WEB WAS DB Storage 부하와 용량관계 가장 좁은 곳이 전체의 용량을 결정하게 된다. WEB WAS DB Storage Network

System Global Area (SGA) Oracle Database Structures Memory structures Instance System Global Area (SGA) Process structures Background processes Database files Storage structures

Oracle Memory Structures Java pool Database buffer cache Redo log buffer Shared pool Large pool SGA Streams pool Server Process 1 PGA Process 2 Background process

Oracle Instance SGA Java pool Shared pool Large pool Streams pool System Monitor (SMON) Database Writer (DBWn) LogWriter (LGWR) Process (PMON) Archiver (ARCn) SGA Java pool Shared pool Large pool Streams pool buffer cache Redo log buffer Checkpoint (CKPT) Control files Data Archive log files

Oracle Server Process와 Database Buffer Cache DBWn Server process SGA Database buffer cache Data files

Alert and trace log files Oracle Physical Database Structure Online redo log files Password file Parameter file Archive log files Control files Data files Alert and trace log files Backup files

Tablespace and Data Files USERS tablespace Data file 1 Data file 2

Segment, Extent, Block Segment Extents Data blocks Disk blocks

Logical 과 Physical 구조의 관계 Database Logical Physical Tablespace Data file OS block Segment Extent Oracle data block Schema

Oracle Database startup 과정 OPEN MOUNT NOMOUNT SHUTDOWN Instance started STARTUP All files opened as described by the control file for this instance Control file opened for this instance

SQL 문장 수행 과정 SQL 문장 수행 과정 Close Open Fetch Bind Parse Execute

SQL 문장 수행 과정 Parse Parse 작업 내용 Shared Pool에서 해당 SQL 문장을 검색함 SQL 문법에 대한 적합성을 확인함 접근하는 Object에 대한 권한 정보를 확인함 View, Sub-Query에 대한 Merge 작업을 수행함 실행계획을 확정함 Parsing은 가능한 피하라!!! (Parse는 CPU Resource 소모가 크고, 추가적인 Memory를 사용하는 resource-intensive한 작업임)

SQL 문장 수행 과정 Parse 종류 Hard Parsing Soft Parsing 개별 세션이 사용하는 메모리와, DB 서버의 메모리에서 같은 SQL 문장의 정보를 찾지 못함 Parse 작업 수행 Soft Parsing 동일 SQL에 대한 Parsing 작업 내용이 이미 DB 서버의 메모리에 존재하여 재사용함 재사용을 하지만 여전히 일부 Resource에 대한 사용이 수반됨 ※ Parsing을 피하기 위해서 가급적 Bind 변수를 사용하고 SQL 사용 규칙을 준수할 것

SQL 문장 수행 과정 Fetch Fetch 작업 내용 Execute 단계에서 생성한 data를 유저에게 전달함 지정된 array size만큼의 Row 단위로 유저에게 전달함