Copyright © 2005, Oracle. All rights reserved.. 1-2 Oracle Structures.

Slides:



Advertisements
Similar presentations
안성필 내부구조. Oracle 이란 ? Oracle 사가 만든 DBMS 의 한 종류로 Database 에서 가장 많이쓰이는 프로그램 검색 · 갱신용 언어로는 국제 표준화 기구 (ISO) 에 서 표준화한 구조화 조회 언어 (SQL) 가 표준.
Advertisements

Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
목차 Chapter1. 데이터베이스 Chapter2. 오라클 설치 Chapter3. 오라클 메모리 Chapter4. 오라클 프로세스 Chapter5. 오라클 엑세스 및 시스템 뷰 Chapter6. 오라클 필수 파일 Chapter7. 오라클 시작과.
오라클 백업과 복구.
Chapter 10장 솔라리스 자원 관리 및 프로젝트 관리 Solaris2. 프로젝트 관리
Data Interface, Data mart Technology
오라클 입문.
장애와 복구 오라클의 구조와 백업대상 복구에 필요한 파일 운영 환경과 운영 모드
AWR DB 보고서 분석.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
12장 데이터 읽기 일관성과 락.
Toad for Oracle 설치 방법.
목차 백업과 복원.
Windows Server 장. 사고를 대비한 데이터 백업.
RAC설계 및 Backup.
SQL*PLUS.
Unix Project2 <test character device 생성>
Make a Real DBA 오라클 데이터베이스 관리시스템 아키텍처 ㈜ 신한시스템즈 김 종 근.
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2-1 PGA(Program Global Area)의 개념
오라클 데이터베이스 성능 튜닝.
07. 디바이스 드라이버의 초기화와 종료 김진홍
Root Filesystem Porting
Root Filesystem Porting
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장 데이터베이스 개념과 오라클 설치.
DB Backup/Recovery EXPORT / IMPORT.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
부트로더와 Self Programming
HDFS와 대용량 데이터 처리 콘텐츠서비스연구팀 최완.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
Sungkyunkwan University OS Project Dongkun Shin
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Grade Server Team14. Attention Seeker
Cache Manager Yonghyun Kim Microsoft MVP Dev 5 team leader, ESTsoft
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
메모리 관리 & 동적 할당.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
영상처리 실습 인공지능연구실.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
제1장 오라클 구조에 대한 이해 발표일 발표자 유미.
오라클 넷(Oracle Net)의 개념 및 구성
Oracle Architecture Reference - 이정규 강사님의 7월 BPAN 부산 강의 자료
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
( Windows Service Application Debugging )
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
오라클 11g 보안.
13주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
CODE INJECTION 시스템B 김한슬.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
Presentation transcript:

Copyright © 2005, Oracle. All rights reserved.

1-2 Oracle Structures

1-3 Oracle Memory Structures Instance SGA Background processes Server process PGA User process SGA(System Global Area) : 모든 사용자가 공유 가능하여 사용 PGA(Program Global Area) : 사용자마다 공유하지 않고 개별적으로 사용

1-4 Oracle Memory Structures PGA (Program Global Area) PGA 란 – 데이터베이스에 접속하는 모든 유저에게 할당되는 각각의 서버 프로세스가 독자적으로 사용하는 오라클 메모리 영역 PGA 구조 [ 정렬공간 (Sort Area) | 세션정보 (Session Information) | 커서상태정보 (Cursor State) | 변수저장공간 (Stack Space) ] PGA 파라미터 –WORKAREA_SIZE_POLICY (MANUAL | AUTO) –AUTO 값 설정 : PGA_AGGREGATE_TARGET 파라미터로 PGA 크기 설정 –MANUAL 값 설정 : SORT_AREA_SIZE 파라미터를 –SORT_AREA_SIZE – 정렬공간에 대한 크기를 설정 –PGA_AGGREGATE_TARGET – 모든 세션의 PGA 크기의 합을 설정하는 파라미터, 오라클이 PGA 를 자동으로 관리. –PGA 크기는 V$PROCESS 데이터 딕셔너리 뷰에서 확인 –PGA_USED_MEM : 프로세스가 현재 사용하는 PGA 크기 –PGA_ALLOC_MEM : 프로세스에 할당된 PGA 크기 ( 사용 완료후 시스템 메모리에 반환하지 않는 메모리 포함 ) –PGA_MAX_MEM : 프로세스가 사용한 최대 PGA 의 크기

1-5 Oracle Memory Structures System Monitor (SMON) Database Writer (DBWn) LogWriter (LGWR) Process Monitor (PMON) Archiver (ARCn) SGA Java pool Shared poolLarge poolStreams pool Database buffer cache Redo log buffer Checkpoint (CKPT) Control files Data files Redo log files Archive log files

1-6 Oracle Memory Structures SGA (System Global Area) SGA – 오라클이 필요한 데이터를 디스크에서 읽어 메모리에 저장한 후 메모리에 저장된 데이터를 읽거나 변경하는데 사용되는 공용 메모리 영역 –SGA_MAX_SIZE 파라미터로 크기를 조정 – 필수 –Database buffer cache –Redo log buffer –Shared pool – 옵션 –Large pool –Java pool –Streams pool

1-7 Oracle Memory Structures SGA (System Global Area) Shared Pool –Used to Store – 가장 최근에 실행한 SQL 문 – 가장 최근에 사용된 data definitions –Library Cache 와 Data Dictionary Cache 로 구성 –SHARED_POOL_SIZE 파라미터로 사이즈 조절

1-8 Oracle Memory Structures SGA (System Global Area) Data Buffer Cache – 오라클이 데이터를 읽고 수정하기 위해 디스크에 존재하는 데이터를 읽어 저장하는 메모리 공간 – 서버프로세스 : 디스크로부터 필요한 데이터 블록을 읽어 데이터 버퍼 캐쉬에 저장하는 프로세스 »DB_FILE_MULTIBLOCK_READ_COUNT 파라미터 –DBWR : 데이터 버퍼 캐쉬에 있는 변경사항을 디스크로 저장하는 프로세스 –LRU(Least Recently Used) algorithm 으로 관리 –Cache Hit / Cache Miss –Shared SQL area 와 Shared PL/SQL area 로 구성 –DB_BLOCK_SIZE 파라미터로 데이터 블록의 크기 설정

1-9 Server Process and Database Buffer Cache DBWn Server process SGA Database buffer cache Data files

1-10 Oracle Memory Structures SGA (System Global Area) Redo Log Buffer – 오브젝트 생성 및 데이터 변경시 생성되는 로그를 저장하는 SGA 메모리 영역 –LOG_BUFFER 파라미터로 리두 로그 버퍼 사이즈 지정 (1~10MB) –Log Ahead 기법 ( 선로그 기법 ) Large Pool –Large Pool 을 사용하게 되면 Shared Pool 의 부하를 감소시켜 성능을 향상 –UGA 영역 저장 »UGA 는 PGA 의 부분, UGA 는 정렬공간, 세션정보, 커서 상태 정보를 포함 –RMAN(Recover Manager) 의 정보 저장 –Parallel Processing 의 정보 저장 –I/O 슬래이브 프로세스의 정보 저장 –LARGE_POOL_SIZE 파라미터 JAVA Pool –JAVA 구문을 분석할 때 사용하므로 자바를 설치하고 사용할 경우 지정해 주어야한다 –JAVA_POOL_SIZE 파라미터

1-11 Oracle Process Structures User Process Database User 가 오라클 서버에 접속을 요청했을 때 생성된다 (SQL*PLUS, application 등 ) Oracle Server 와 직접 상호 작용하지 않고, session 을 생성하고 서버 Process 를 시작하는 UPI 를 통해 호출을 생성. (session 이란 Instance 에 접근해서 수행하는것 (transaction 단위로구성 )) Instance SGA Background processes Server process PGA User process

1-12 Oracle Process Structures Server Process 사용자의 요구에 따라 생성되어 서버와 통신하는데 사용하는 OPI(Oracle Program Interface) 제공, 하나의 서버프로세스는 하나의 유저프로세스를 담당. Oracle Server 와 직접 상호 작용하는 프로세스로, User Process 의 요청을 처리하고 반환 전용서버 : 단일사용자의 요청을 처리하며 사용자 접속이 해제되면 서버 프로세스 종료 공유서버 : 서버프로세스가 여러 사용자의 요청을 처리. Background Process Oracle Instance 가 실행될때 자동적으로 생성되는 프로세스들 Mandatory Background Process DBWnPMONCKTP LGWRSMON Optional Background Process ARCn,LMDnRECO CJQ0LMONSnnn DnnnPnnn LCKnQMNn

1-13 Oracle Process Structures Background Process DBWR (Database Witer) – 메모리에서 변경된 버퍼를 디스크에 기록하는 프로세스 서버프로세스는 블록의 변경사항을 Database Buffer Cache 에 기록하게 되는데, DBWR 은 Database Buffer Cache 의 Dirty Buffer 를 Disk 에 기록하고 Free Buffer 로 상태를 변경 –DBWR Background Process 가 작동하는 시점 – 체크포인트가 발생했을 경우 (CKPT) – 더티 버퍼의 수가 임계치에 도달했을 경우 – 프리버퍼가 필요하여 데이터 버퍼 캐쉬에서 일정한 수의 버퍼를 검색하고도 프리버퍼를 찾지 못했을 경 우 (?) – 테이블스페이스가 오프라인 또는 읽기 전용 (Read Only) 모드로 변경될 경우 – 테이블이 DROP 되거나 TRUNCATE 될 경우 – 테이블스페이스에 온라인 백업명령이 수행될 경우 – 주기적인 타임아웃에 의해 발생

1-14 Oracle Process Structures Background Process LGWR (Log Writer) –Redo Log Buffer 에 기록된 내용을 Redo Log File 로 저장 – 빠른 커밋 (Fast Commit) 유저가 특정 작업을 수행 후 커밋을 수행한 후에는 Database 에 저장하여 복구및 조회를 하도록 – 선 로그 기법 (Log Ahead) DML 작업을 수행하기 전에 변경 내용을 미리 리두로그 버퍼에 저장해놓음 -> 복구용이 –LGWR Background Process 가 작동하는 시점 – 커밋을 수행할 경우 발생 ( 해당 트랜잭션과 연관된 변경 내용에 대해 수행 ) –DBWR 백그라운드 프로세스가 데이터 버퍼 캐쉬의 변경된 데이터 블록을 데이터 파일에 적용하기 전에 발생 – 리두 로그 버퍼의 1/3 이상이 사용되었을 경우 발생 –1MB 이상의 리두 로그가 생성되었을 경우 발생 –3 초마다 발생

1-15 Oracle Process Structures Background Process PMON (Process Monitor) – 서버 프로세스가 작업을 수행하는 중 실패한 경우 PMON 은 1) 실패한 프로세스가 수행중이던 트랜잭션 롤백 2) 실패한 프로세스가 획득했던 메모리, 락 (LOCK) 및 기타 자원 할당 해제 SMON (System Monitor) – 인스턴스의 복구 수행 데이터 블록의 연속된 공간 통합 임시 세그먼트 제거 OPTIONAL 크기 유지 – 인스턴스 복구 수행 – 데이터베이스 메모리가 비정상 종료되면 DBWR 에 의해 디스크로 쓰여지지 않은 데이터는 손실된다. 그러나 SMON 은 데이터베이스 비정상 종료후 재시작될 때 리두로그파일의 로그정보를 읽어서 데이터 파일에 기록되지 않은 이전에 커밋된 데이터를 복구해 주게 된다.

1-16 Oracle Process Structures Background Process CKPT(Checkpoint) – 데이터 버퍼 캐쉬의 변경된 데이터 블록을 데이터 파일에 기록하여 메모리 내의 데이터와 데이터 파일에 저장된 데이터를 일치시키는 일련의 작업 –CKPT 발생 시점 – 로그 스위치가 발생하는 경우 –3 초마다 발생 – 테이블스페이스가 오프라인으로 변경될 경우 – 데이터베이스가 정상 종료될 경우 – 사용자가 ALTER SYSTEM CHECKPOINT 명령으로 명시적인 체크포인트를 발생시킬 경우 – 체크포인트 관련 파라미터 (FAST_START_MTTR_TARGET parameter) 에서 정한 값에 의해 활동 주기가 되었 을 경우

1-17 Oracle Process Structures Background Process ARCH (Archiver) – 아카이브 로그 모드 시 로그스위치가 발생하여 아카이브 로그 파일을 생성해야 할 경우, 장애 복구시 아카이브 로그 파일을 사용 하는 경우 작동 CJQ0(Coordinator Job Queue) 와 Jnnn – 정기적인 작업에 대해 스케줄링 하여 자동으로 수행시에 CJQ0 이 스케줄링된 작업을 수행 –CJQ0 는 계획된 작업을 실행시키고 Jnnn 이 실제 작업을 수행 Pnnn(Parallel Query Slaves) – 대용량의 작업을 병렬 처리로 수행할 경우 –PARALLEL_MAX_SERVERS, PARALLEL_MIN_SERVERS 파라미터 RECO(Recoverer) – 분산 데이터베이스 환경에서 한 개 이상의 데이터베이스의 연결에 문제가 발생한 트랜잭션이 사용하던 테이블 또는 행에 수행된 락 (LOCK) 을 해제. Snnn 과 Dnnn – 고라클 공유서버 (MTS) 환경에서 사용하는 백그라운드 프로세스

1-18 Oracle Process Structures Background Process ( 오라클 10g 추가 ) DMnn – 데이터 펌프 (Data Pump) 를 사용한 데이터 적재 및 추출 작업을 총괄 제어 하는 프로세스 (MCP) MMAN(Memory Manager) – 공유 메모리 자동 관리 기능 수행 MMON(Memory Monitor) – 자가 진단을 위해 메모리에 존재하는 데이터베이스 통계 정보를 주기에 따라 AWR 에 저장. MMNL(Memory Monitor Light) – 필요시 메모리에 있느 통계 정보 전체를 AWR 에 기록하는 역할 RVWR – 플래쉬백을 수행

1-19 Storage Structures Online redo log files Password file Parameter file Archive log files Control files Data files Alert and trace log files Backup files