1 / 29

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

오라클 데이터베이스 성능 튜닝. 성능 저하의 원인이 되는 기업의 문제점. 성능 저하의 원인이 되는 기업의 문제점. 운영 혹은 개발 인력의 RDBMS 에 대한 이해도 부족 짧은 개발기간과 적은 비용 산정으로 품질저하 DA(Data Architecture) 의 중요성에 대한 인식 부족 DB 전문인력 부족 충분한 테스트 부족. 좋은 성능을 위한 요소. 좋은 성능을 위한 요소. DA 설계에 대한 중요성 인식 필요 RDBMS 대한 깊은 이해 충분한 테스트 수행 분석적 자료에 대한 정량화 작업

giona
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  23. Segment, Extent, Block Segment Extents Data blocks Disk blocks

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

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

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

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

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

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

More Related